| 1009 | |
| 1010 | |
| 1011 | LOCK_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 | |
| 1046 | void LockManager::acquire_shmem(SRQ_PTR owner_offset) |
no test coverage detected