8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 04:43:03 +01:00

Postfix for CORE-5067. It prevents deadlocks involving the header page

and some data pages (due to disabled AST delivery).
This commit is contained in:
Dmitry Yemanov 2016-04-02 13:15:47 +03:00
parent 1472ab87b8
commit dc31f92cea

View File

@ -6534,6 +6534,12 @@ bool JRD_shutdown_database(Database* dbb, const unsigned flags)
fb_assert(!dbb->locked());
#ifdef SUPERSERVER_V2
TRA_header_write(tdbb, dbb, 0); // Update transaction info on header page.
#endif
if (flags & SHUT_DBB_RELEASE_POOLS)
TRA_update_counters(tdbb, dbb);
// Disable AST delivery as we're about to release all locks
{ // scope
@ -6543,12 +6549,6 @@ bool JRD_shutdown_database(Database* dbb, const unsigned flags)
// Shutdown file and/or remote connection
#ifdef SUPERSERVER_V2
TRA_header_write(tdbb, dbb, 0); // Update transaction info on header page.
#endif
if (flags & SHUT_DBB_RELEASE_POOLS)
TRA_update_counters(tdbb, dbb);
VIO_fini(tdbb);
if (dbb->dbb_crypto_manager)