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

Fixed CORE-1890.

This commit is contained in:
dimitr 2008-05-08 11:30:54 +00:00
parent eec2072ff8
commit 77575fca63

View File

@ -442,9 +442,8 @@ DatabaseSnapshot::DatabaseSnapshot(thread_db* tdbb, MemoryPool& pool)
{
dumpData(tdbb, true);
// Release our own lock and mark dbb as requesting a new one
// Release our own lock
LCK_release(tdbb, dbb->dbb_monitor_lock);
dbb->dbb_ast_flags |= DBB_monitor_off;
// Signal other processes to dump their data
Lock temp_lock, *lock = &temp_lock;
@ -458,6 +457,9 @@ DatabaseSnapshot::DatabaseSnapshot(thread_db* tdbb, MemoryPool& pool)
if (LCK_lock(tdbb, lock, LCK_EX, LCK_WAIT))
LCK_release(tdbb, lock);
// Mark dbb as requesting a new lock
dbb->dbb_ast_flags |= DBB_monitor_off;
// Read the shared memory
DumpGuard guard(dump);
reader = dump->readData(tdbb);