blocking event loop completed