avocado-framework/avocado — pull request #290 by ldoktor (2014-12-04 15:42:40+00:00)
Title: avocado.job: Fix deadlock in TestRunner.run()

multiprocessing.Queue().put() is asynchronous and in case the test died
critically before the put() was executed, TestRunner.run() waited for
infinity for early_state. This patch uses
multiprocessing.queues.SimpleQueue(), where it's guaranteed that after
executing put() the data are already in the SimpleQueue.

Signed-off-by: Lukáš Doktor

v1: #286
v2: https://github.com/avocado-framework/avocado/pull/289

Changelog:

v1: Use multiprocessing.queues.SimpleQueue as queue instead of executing
the process again
v1: Reorganize imports (sorry, Eclipse did that automatically, but now it's
sorted alphabetically ;-) )
v2: add check for ps.is_alive() (reduces abort discovery latency)
v2: import style cleanup