8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 10:00:38 +01:00

Adjust debug messages to avoid false failures of some fbt tests.

This commit is contained in:
Vlad Khorsun 2022-03-25 19:58:28 +02:00
parent 348bb77fc0
commit 59403d7fef
3 changed files with 17 additions and 5 deletions

View File

@ -252,7 +252,9 @@ void BtrPageGCLock::disablePageGC(thread_db* tdbb, const PageNumber& page)
void BtrPageGCLock::enablePageGC(thread_db* tdbb)
{
LCK_release(tdbb, this);
fb_assert(lck_id);
if (lck_id)
LCK_release(tdbb, this);
}
bool BtrPageGCLock::isPageGCAllowed(thread_db* tdbb, const PageNumber& page)

View File

@ -240,6 +240,12 @@ public:
void disablePageGC(thread_db* tdbb, const PageNumber &page);
void enablePageGC(thread_db* tdbb);
// return true if lock is active
bool isActive() const
{
return lck_id != 0;
}
static bool isPageGCAllowed(thread_db* tdbb, const PageNumber& page);
#ifdef DEBUG_LCK_LIST

View File

@ -105,10 +105,12 @@ void IndexTableScan::close(thread_db* tdbb) const
if (impure->irsb_nav_btr_gc_lock)
{
#ifdef DEBUG_LCK_LIST
if (!impure->irsb_nav_page)
gds__log("DEBUG_LCK_LIST: irsb_nav_btr_gc_lock && !irsb_nav_page");
if (!impure->irsb_nav_page && impure->irsb_nav_btr_gc_lock->isActive())
gds__log("DEBUG_LCK_LIST: irsb_nav_btr_gc_lock->isActive() && !irsb_nav_page");
#endif
impure->irsb_nav_btr_gc_lock->enablePageGC(tdbb);
if (impure->irsb_nav_btr_gc_lock->isActive())
impure->irsb_nav_btr_gc_lock->enablePageGC(tdbb);
delete impure->irsb_nav_btr_gc_lock;
impure->irsb_nav_btr_gc_lock = NULL;
}
@ -132,7 +134,9 @@ void IndexTableScan::close(thread_db* tdbb) const
{
gds__log("DEBUG_LCK_LIST: irsb_nav_btr_gc_lock && !(irsb_flags & irsb_open)");
impure->irsb_nav_btr_gc_lock->enablePageGC(tdbb);
if (impure->irsb_nav_btr_gc_lock->isActive())
impure->irsb_nav_btr_gc_lock->enablePageGC(tdbb);
delete impure->irsb_nav_btr_gc_lock;
impure->irsb_nav_btr_gc_lock = NULL;
impure->irsb_nav_page = 0;