MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / ~EngineCallbackGuard

Method ~EngineCallbackGuard

src/jrd/extds/ExtDS.cpp:2626–2651  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2624}
2625
2626EngineCallbackGuard::~EngineCallbackGuard()
2627{
2628 if (m_mutex) {
2629 m_mutex->leave();
2630 }
2631
2632 if (m_tdbb && m_tdbb->getDatabase())
2633 {
2634 Jrd::Attachment* attachment = m_tdbb->getAttachment();
2635 if (attachment && m_stable.hasData())
2636 {
2637 Jrd::AttSyncLockGuard guardAsync(*m_stable->getSync(true, true), FB_FUNCTION);
2638 m_stable->getSync()->enter(FB_FUNCTION);
2639
2640 if (m_stable->getHandle() == attachment)
2641 attachment->att_ext_connection = m_saveConnection;
2642 else
2643 m_stable->getSync()->leave();
2644 }
2645
2646 jrd_tra* transaction = m_tdbb->getTransaction();
2647
2648 if (transaction)
2649 transaction->tra_callback_count--;
2650 }
2651}
2652
2653
2654// CryptHash

Callers

nothing calls this directly

Calls 8

getDatabaseMethod · 0.80
leaveMethod · 0.45
getAttachmentMethod · 0.45
hasDataMethod · 0.45
getSyncMethod · 0.45
enterMethod · 0.45
getHandleMethod · 0.45
getTransactionMethod · 0.45

Tested by

no test coverage detected