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

Function external_ast

src/jrd/lck.cpp:963–992  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

961
962
963static int external_ast(void* lock_void)
964{
965/**************************************
966 *
967 * e x t e r n a l _ a s t
968 *
969 **************************************
970 *
971 * Functional description
972 * Deliver blocking asts to all locks identical to
973 * the passed lock. This routine is called when
974 * we are blocking a lock from another process.
975 *
976 **************************************/
977 Lock* lock = static_cast<Lock*>(lock_void);
978 fb_assert(LCK_CHECK_LOCK(lock));
979
980 // go through the list, saving the next lock in the list
981 // in case the current one gets deleted in the ast
982
983 Lock* next;
984 for (Lock* match = hash_get_lock(lock, 0, 0); match; match = next)
985 {
986 next = match->lck_identical;
987 if (match->lck_ast) {
988 (*match->lck_ast)(match->lck_object);
989 }
990 }
991 return 0; // make the compiler happy
992}
993
994
995static void hash_allocate(Lock* lock)

Callers

nothing calls this directly

Calls 1

hash_get_lockFunction · 0.85

Tested by

no test coverage detected