When we fail during slave thread initialisation, keep mi->run_lock
locked until we have finished clean up. Previously, the code released the lock without marking that the thread was running. This allowed a new slave thread to start while the old one was still in the middle of cleaning up, causing assertions and probably general mayhem.
Showing
Please register or sign in to comment