mirror of
https://github.com/enso-org/enso.git
synced 2024-12-20 22:51:43 +03:00
06624f34a8
This change fixes the rather elusive bug where shutdown hooks could not be fired when shutdown was taking too long and termination was forced. Under the circumstances described in detail in ticket #6515 there was a small chance that we could have a shutdown race condition. Essentially the messages received when client was disconnected and language server forced the termination could lead to language server not sending the public `ProjectClosed` message which triggers shutdown hook. Now we always do. Also made sure that multiple `ProjectClosed` messages don't lead to firing multiple shutdown hooks, which was another possibility. No tests as one would have to be able to introduce different delays in various message handlers to simulate the problem. Having ability to do such chaos testing would be nice but it is beyond the scope of this ticket. I was able to reproduce the problem 100% with my specially crafted setup so I'm fairly confident about the change. Closes #6515. |
||
---|---|---|
.. | ||
src | ||
README.md |
Project Manager
This library implements the functionality and messages backing the project manager component of the Enso Protocol.