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

Method blocking_ast_cached_lock

src/jrd/GlobalRWLock.cpp:52–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50
51
52int GlobalRWLock::blocking_ast_cached_lock(void* ast_object)
53{
54 GlobalRWLock* globalRWLock = static_cast<GlobalRWLock*>(ast_object);
55
56 try
57 {
58 if (!globalRWLock->cachedLock)
59 return 0;
60
61 Database* const dbb = globalRWLock->cachedLock->lck_dbb;
62 AsyncContextHolder tdbb(dbb, FB_FUNCTION);
63
64 MutexLockGuard counterGuard(globalRWLock->counterMutex, FB_FUNCTION);
65 globalRWLock->blockingAstHandler(tdbb);
66 }
67 catch (const Exception&)
68 {} // no-op
69
70 return 0;
71}
72
73GlobalRWLock::GlobalRWLock(thread_db* tdbb, MemoryPool& p, lck_t lckType,
74 bool lock_caching, FB_SIZE_T lockLen, const UCHAR* lockStr)

Callers

nothing calls this directly

Calls 1

blockingAstHandlerMethod · 0.45

Tested by

no test coverage detected