MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / updateOldestTransaction

Method updateOldestTransaction

src/jrd/tpc.cpp:721–734  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

719}
720
721void TipCache::updateOldestTransaction(thread_db *tdbb, TraNumber oldest, TraNumber oldestSnapshot)
722{
723 // Can only be called on initialized TipCache
724 fb_assert(m_tpcHeader);
725 GlobalTpcHeader* header = m_tpcHeader->getHeader();
726
727 TraNumber oldestNew = MIN(oldest, oldestSnapshot);
728 TraNumber oldestNow = header->oldest_transaction.load(std::memory_order_relaxed);
729 if (oldestNew > oldestNow)
730 {
731 header->oldest_transaction.store(oldestNew, std::memory_order_relaxed);
732 releaseSharedMemory(tdbb, oldestNow, oldestNew);
733 }
734}
735
736int TipCache::tpc_block_blocking_ast(void* arg)
737{

Callers 1

transaction_startFunction · 0.80

Calls 3

getHeaderMethod · 0.45
loadMethod · 0.45
storeMethod · 0.45

Tested by

no test coverage detected