| 941 | |
| 942 | |
| 943 | LOCK_DATA_T LockManager::readData(SRQ_PTR request_offset) |
| 944 | { |
| 945 | /************************************** |
| 946 | * |
| 947 | * r e a d D a t a |
| 948 | * |
| 949 | ************************************** |
| 950 | * |
| 951 | * Functional description |
| 952 | * Read data associated with a lock. |
| 953 | * |
| 954 | **************************************/ |
| 955 | LOCK_TRACE(("LM::readData (%ld)\n", request_offset)); |
| 956 | |
| 957 | LockTableGuard guard(this, FB_FUNCTION, DUMMY_OWNER); |
| 958 | |
| 959 | const lrq* const request = get_request(request_offset); |
| 960 | guard.setOwner(request->lrq_owner); |
| 961 | |
| 962 | ++(m_sharedMemory->getHeader()->lhb_read_data); |
| 963 | |
| 964 | const lbl* const lock = (lbl*) SRQ_ABS_PTR(request->lrq_lock); |
| 965 | const LOCK_DATA_T data = lock->lbl_data; |
| 966 | if (lock->lbl_series < LCK_MAX_SERIES) |
| 967 | ++(m_sharedMemory->getHeader()->lhb_operations[lock->lbl_series]); |
| 968 | else |
| 969 | ++(m_sharedMemory->getHeader()->lhb_operations[0]); |
| 970 | |
| 971 | return data; |
| 972 | } |
| 973 | |
| 974 | |
| 975 | LOCK_DATA_T LockManager::readData2(USHORT series, |