<b>5.0.4.1696</b>
TreeHunter 2025.08.06 04:50:52
Backport of fix(shutdown): Prevent race condition when GlobalObject destruction routine unlocks global mutex (#8687)
Unlocking global mutex in GlobalObject destruction routine made it possible for a new attachment to slip in, so it will be creating new GlobalObject and using it, while destroying routine still in action. This can lead to an undefined state of the global objects, such as shared memory, where one thread is actively using it while another thread is destroying it.
Co-authored-by: Artyom Ivanov <artyom.ivanov@red-soft.ru>

Changed paths:
  M src/jrd/Database.cpp
  M src/jrd/Database.h