workerpool: Don't notify if there was no task
Workers have to notify their pool if they finished a task to make the WorkerPool.Quiesce function work. This is done in the finally: clause to notify even in case of an exception. However, before we notified on each run, even if there was no task, thereby creating some sort of an endless loop of notifications. In a future patch we should split the single condition object into several to produce less spurious notifications. While we're at this, this patch also adds two new functions to BaseWorker to query whether it's currently running a task and then uses one of these functions in the WorkerPool instead of querying the internal variable directly. Reviewed-by: iustinp
Loading
Please register or sign in to comment