yield thread for each task, and even when there are no tasks

This commit is contained in:
David Rose 2009-07-15 19:41:44 +00:00
parent a088d7ff72
commit 2cdd26901e

View File

@ -805,6 +805,7 @@ service_one_task(AsyncTaskChain::AsyncTaskChainThread *thread) {
<< *Thread::get_current_thread() << "\n"; << *Thread::get_current_thread() << "\n";
} }
} }
thread_consider_yield();
} }
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
@ -1209,6 +1210,7 @@ do_get_sleeping_tasks() const {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
void AsyncTaskChain:: void AsyncTaskChain::
do_poll() { do_poll() {
thread_consider_yield();
if (_num_tasks == 0) { if (_num_tasks == 0) {
return; return;
} }