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

Function enqueue

src/jrd/lck.cpp:932–960  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

930
931
932static void enqueue(thread_db* tdbb, CheckStatusWrapper* statusVector, Lock* lock, USHORT level, SSHORT wait)
933{
934/**************************************
935 *
936 * e n q u e u e
937 *
938 **************************************
939 *
940 * Functional description
941 * Submit a lock to the lock manager.
942 *
943 **************************************/
944 SET_TDBB(tdbb);
945 Database* const dbb = tdbb->getDatabase();
946
947 fb_assert(LCK_CHECK_LOCK(lock));
948
949 lock->lck_id = dbb->lockManager()->enqueue(tdbb, statusVector, lock->lck_id,
950 lock->lck_type, lock->getKeyPtr(), lock->lck_length,
951 level, lock->lck_ast, lock->lck_object, lock->lck_data, wait,
952 lock->lck_owner_handle);
953
954 if (!lock->lck_id)
955 {
956 lock->lck_physical = lock->lck_logical = LCK_none;
957 }
958
959 fb_assert(LCK_CHECK_LOCK(lock));
960}
961
962
963static int external_ast(void* lock_void)

Callers 9

ENQUEUEFunction · 0.70
outputVerboseMethod · 0.70
outputDataMethod · 0.70
printfMethod · 0.70
putLineMethod · 0.70
putSLongMethod · 0.70
putSInt64Method · 0.70
putCharMethod · 0.70
putBytesMethod · 0.70

Calls 5

SET_TDBBFunction · 0.85
getDatabaseMethod · 0.80
lockManagerMethod · 0.80
getKeyPtrMethod · 0.80
enqueueMethod · 0.45

Tested by

no test coverage detected