Do not return from idle_loop() with lock held