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

Method writeData

src/lock/lock.cpp:1011–1043  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1009
1010
1011LOCK_DATA_T LockManager::writeData(SRQ_PTR request_offset, LOCK_DATA_T data)
1012{
1013/**************************************
1014 *
1015 * w r i t e D a t a
1016 *
1017 **************************************
1018 *
1019 * Functional description
1020 * Write a longword into the lock block.
1021 *
1022 **************************************/
1023 LOCK_TRACE(("LM::writeData (%ld)\n", request_offset));
1024
1025 LockTableGuard guard(this, FB_FUNCTION, DUMMY_OWNER);
1026
1027 const lrq* const request = get_request(request_offset);
1028 guard.setOwner(request->lrq_owner);
1029
1030 ++(m_sharedMemory->getHeader()->lhb_write_data);
1031
1032 lbl* const lock = (lbl*) SRQ_ABS_PTR(request->lrq_lock);
1033 remove_que(&lock->lbl_lhb_data);
1034 if ( (lock->lbl_data = data) )
1035 insert_data_que(lock);
1036
1037 if (lock->lbl_series < LCK_MAX_SERIES)
1038 ++(m_sharedMemory->getHeader()->lhb_operations[lock->lbl_series]);
1039 else
1040 ++(m_sharedMemory->getHeader()->lhb_operations[0]);
1041
1042 return data;
1043}
1044
1045
1046void LockManager::acquire_shmem(SRQ_PTR owner_offset)

Callers 1

LCK_write_dataFunction · 0.80

Calls 2

setOwnerMethod · 0.45
getHeaderMethod · 0.45

Tested by

no test coverage detected