-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
When the EmbeddedEngine.stop() method is called it
- nulls runningThread
- interrupts it
The running thread can be stopped in two cases
- runningThread is null
- interrupt
When the main loop detects the null first it executes task.stop(), which calls ChangeEventSourceCoordinator.stop(). THis method clear interrupted flag and terminates executor threads. But with unfrotunate timing it can happen
*runningThread is set null
- ChangeEventSourceCoordinator.stop() is called that clears the interrupt flag
- EmbeddedEngine.stop() interrupts the thread
- awaitTermination ends in InterruptedException