mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 10:30:46 +00:00
* workqueue-internal.h (Workqueue_threader::should_cancel_thread):
Add thread_number parameter. (Workqueue_threader_threadpool::should_cancel_thread): Likewise. * workqueue-threads.cc (Workqueue_threader_threadpool::should_cancel_thread): Cancel current thread if its thread number is greater than desired thread count. * workqueue.cc (Workqueue_threader_single::should_cancel_thread): Add thread_number parameter. (Workqueue::should_cancel_thread): Likewise. (Workqueue::find_runnable_or_wait): Pass thread_number to should_cancel_thread. * workqueue.h (Workqueue::should_cancel_thread): Add thread_number parameter.
This commit is contained in:
@@ -110,7 +110,7 @@ class Workqueue_threader_single : public Workqueue_threader
|
||||
{ gold_assert(thread_count > 0); }
|
||||
|
||||
bool
|
||||
should_cancel_thread()
|
||||
should_cancel_thread(int)
|
||||
{ return false; }
|
||||
};
|
||||
|
||||
@@ -202,9 +202,9 @@ Workqueue::queue_next(Task* t)
|
||||
// Return whether to cancel the current thread.
|
||||
|
||||
inline bool
|
||||
Workqueue::should_cancel_thread()
|
||||
Workqueue::should_cancel_thread(int thread_number)
|
||||
{
|
||||
return this->threader_->should_cancel_thread();
|
||||
return this->threader_->should_cancel_thread(thread_number);
|
||||
}
|
||||
|
||||
// Find a runnable task in TASKS. Return NULL if none could be found.
|
||||
@@ -264,7 +264,7 @@ Workqueue::find_runnable_or_wait(int thread_number)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (this->should_cancel_thread())
|
||||
if (this->should_cancel_thread(thread_number))
|
||||
return NULL;
|
||||
|
||||
gold_debug(DEBUG_TASK, "%3d sleeping", thread_number);
|
||||
|
||||
Reference in New Issue
Block a user