|
@@ -102,7 +102,7 @@ class Pool(abstract.StartStopComponent):
|
|
|
maxtasksperchild=w.max_tasks_per_child,
|
|
|
timeout=w.task_time_limit,
|
|
|
soft_timeout=w.task_soft_time_limit,
|
|
|
- putlocks=w.pool_putlocks,
|
|
|
+ putlocks=w.pool_putlocks and threaded,
|
|
|
lost_worker_timeout=w.worker_lost_wait,
|
|
|
with_task_thread=threaded,
|
|
|
with_result_thread=threaded,
|
|
@@ -143,7 +143,10 @@ class Queues(abstract.Component):
|
|
|
if w.disable_rate_limits:
|
|
|
w.ready_queue = FastQueue()
|
|
|
if w.use_eventloop:
|
|
|
- w.ready_queue.put = w.process_task_sem
|
|
|
+ if w.pool_putlocks:
|
|
|
+ w.ready_queue.put = w.process_task_sem
|
|
|
+ else:
|
|
|
+ w.ready_queue.put = w.process_task
|
|
|
elif not w.pool_cls.requires_mediator:
|
|
|
# just send task directly to pool, skip the mediator.
|
|
|
w.ready_queue.put = w.process_task
|