From: Marc-Aurel Zent mzent@codeweavers.com
--- server/process.c | 2 +- server/thread.c | 8 +++++++- server/thread.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/server/process.c b/server/process.c index 476dc9c42b8..92b89f67059 100644 --- a/server/process.c +++ b/server/process.c @@ -1719,7 +1719,7 @@ static void set_process_disable_boost( struct process *process, int disable_boos
LIST_FOR_EACH_ENTRY( thread, &process->thread_list, struct thread, proc_entry ) { - thread->disable_boost = disable_boost; + set_thread_disable_boost( thread, disable_boost ); } }
diff --git a/server/thread.c b/server/thread.c index 1f75f3a49b2..c0ec8203f41 100644 --- a/server/thread.c +++ b/server/thread.c @@ -881,6 +881,12 @@ unsigned int set_thread_base_priority( struct thread *thread, int base_priority return set_thread_priority( thread, priority ); }
+void set_thread_disable_boost( struct thread *thread, int disable_boost ) +{ + thread->disable_boost = disable_boost; + apply_thread_priority( thread ); +} + /* set all information about a thread */ static void set_thread_info( struct thread *thread, const struct set_thread_info_request *req ) @@ -911,7 +917,7 @@ static void set_thread_info( struct thread *thread, if (req->mask & SET_THREAD_INFO_DBG_HIDDEN) thread->dbg_hidden = 1; if (req->mask & SET_THREAD_INFO_DISABLE_BOOST) - thread->disable_boost = req->disable_boost; + set_thread_disable_boost( thread, req->disable_boost ); if (req->mask & SET_THREAD_INFO_DESCRIPTION) { WCHAR *desc; diff --git a/server/thread.h b/server/thread.h index 491210d03cd..7c19f9205a5 100644 --- a/server/thread.h +++ b/server/thread.h @@ -130,6 +130,7 @@ extern struct token *thread_get_impersonation_token( struct thread *thread ); extern int get_effective_thread_priority( struct thread *thread ); extern unsigned int set_thread_priority( struct thread *thread, int priority ); extern unsigned int set_thread_base_priority( struct thread *thread, int base_priority ); +extern void set_thread_disable_boost( struct thread *thread, int disable_boost ); extern int set_thread_affinity( struct thread *thread, affinity_t affinity ); extern int suspend_thread( struct thread *thread ); extern int resume_thread( struct thread *thread );