| 562 | } |
| 563 | |
| 564 | void jrd_rel::GCExclusive::release() |
| 565 | { |
| 566 | if (!m_lock || !m_lock->lck_id) |
| 567 | return; |
| 568 | |
| 569 | fb_assert(m_relation->rel_flags & REL_gc_disabled); |
| 570 | |
| 571 | if (!(m_relation->rel_flags & REL_gc_lockneed)) |
| 572 | { |
| 573 | m_relation->rel_flags |= REL_gc_lockneed; |
| 574 | LCK_release(m_tdbb, m_relation->rel_gc_lock); |
| 575 | } |
| 576 | |
| 577 | LCK_convert(m_tdbb, m_lock, LCK_EX, LCK_WAIT); |
| 578 | m_relation->rel_flags &= ~REL_gc_disabled; |
| 579 | |
| 580 | LCK_release(m_tdbb, m_lock); |
| 581 | } |
| 582 | |
| 583 | |
| 584 | /// RelationPages |
nothing calls this directly
no test coverage detected