always reset currentThread when returning from mainLoop or runSync