bitbake: cooker: Kill alive process before join it
Fixed:
$ echo helloworld >> meta/recipes-extended/bash/bash_4.4.18.bb
$ while true; do kill-bb; rm -fr bitbake-cookerdaemon.log tmp/cache/default-glibc/qemux86-64/x86_64/bb_cache.dat* ; bitbake -p; done
It may hang in 10 mins, there are two problems:
* There might be deadlocks when call process.join() if the queue is not NULL,
so we need cleanup the queue before join() it, but:
* The self.result_queue.get(timeout=0.25) may hang if the queue._wlock is hold
by SomeOtherProcess, the queue has the following info when it hangs:
'_wlock': <Lock(owner=SomeOtherProcess)>
We can kill alvie process before join it to fix the problems.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>