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

Method purge_process

src/lock/lock.cpp:2931–2959  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2929
2930
2931void LockManager::purge_process(prc* process)
2932{
2933/**************************************
2934 *
2935 * p u r g e _ p r o c e s s
2936 *
2937 **************************************
2938 *
2939 * Functional description
2940 * Purge all owners of the given process.
2941 *
2942 **************************************/
2943 LOCK_TRACE(("purge_process (%ld)\n", process->prc_process_id));
2944
2945 SRQ lock_srq;
2946 while ((lock_srq = SRQ_NEXT(process->prc_owners)) != &process->prc_owners)
2947 {
2948 own* owner = (own*) ((UCHAR*) lock_srq - offsetof(own, own_prc_owners));
2949 purge_owner(SRQ_REL_PTR(owner), owner);
2950 }
2951
2952 remove_que(&process->prc_lhb_processes);
2953 insert_tail(&m_sharedMemory->getHeader()->lhb_free_processes, &process->prc_lhb_processes);
2954
2955 process->prc_process_id = 0;
2956 process->prc_flags = 0;
2957
2958 m_sharedMemory->eventFini(&process->prc_blocking);
2959}
2960
2961
2962void LockManager::remap_local_owners()

Callers

nothing calls this directly

Calls 2

eventFiniMethod · 0.80
getHeaderMethod · 0.45

Tested by

no test coverage detected