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

Function LCK_release

src/jrd/lck.cpp:787–815  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

785
786
787void LCK_release(thread_db* tdbb, Lock* lock)
788{
789/**************************************
790 *
791 * L C K _ r e l e a s e
792 *
793 **************************************
794 *
795 * Functional description
796 * Release an existing lock.
797 *
798 **************************************/
799 SET_TDBB(tdbb);
800 fb_assert(LCK_CHECK_LOCK(lock));
801
802#ifdef DEBUG_LCK
803 LckSync sync(lock, "LCK_release");
804#endif
805
806 if (lock->lck_physical != LCK_none) {
807 DEQUEUE(tdbb, lock);
808 }
809
810 lock->lck_physical = lock->lck_logical = LCK_none;
811 lock->lck_id = lock->lck_data = 0;
812 lock->setLockAttachment(NULL);
813
814 fb_assert(LCK_CHECK_LOCK(lock));
815}
816
817
818void LCK_re_post(thread_db* tdbb, Lock* lock)

Callers 15

purgeMethod · 0.85
purgeAllAttachmentsMethod · 0.85
eraseMethod · 0.85
blocking_ast_gcLockMethod · 0.85
acquireMethod · 0.85
releaseMethod · 0.85
releaseMethod · 0.85
shutdownMethod · 0.85
startCryptThreadMethod · 0.85
cryptThreadRoutineMethod · 0.85
JRD_shutdown_databaseFunction · 0.85
blockingAstMethod · 0.85

Calls 3

SET_TDBBFunction · 0.85
DEQUEUEFunction · 0.85
setLockAttachmentMethod · 0.80

Tested by

no test coverage detected