[issue31092] delicate behaviour of shared (managed) multiprocessing Queues

2017-10-09 Thread Antoine Pitrou
Antoine Pitrou added the comment: > To a avoid race condition As Oren explained, the race condition is due to your use of the managed Queue. If you keep the object alive in the main process until the tasks have finished, there shouldn't be any problem. The question is: is there any reason y

[issue31092] delicate behaviour of shared (managed) multiprocessing Queues

2017-10-08 Thread Prof Plum
Prof Plum added the comment: @Antoine Pitrou >Well... it's called *async* for a reason, so I'm not sure why the behaviour >would be partially synchronous. To a avoid race condition >I'm not sure how. In mp.Pool we don't want to keep references to input >objects longer than necessary. Like

[issue31092] delicate behaviour of shared (managed) multiprocessing Queues

2017-10-08 Thread Antoine Pitrou
Antoine Pitrou added the comment: @Prof Plum > When I call pool.apply_async() I expect it only to return when the worker > process has been started and finished it's initialization process Well... it's called *async* for a reason, so I'm not sure why the behaviour would be partially synchron