|
Zero
0.1.0
|
LIL private lock table to remember Volume locks and Stores in it. More...
#include <lock_lil.h>
Public Member Functions | |
| lil_private_vol_table () | |
| ~lil_private_vol_table () | |
| void | clear () |
| w_rc_t | acquire_store_lock (lil_global_table *global_table, const StoreID &stid, lil_lock_modes_t mode) |
| void | release_vol_locks (lil_global_table *global_table, bool read_lock_only=false, lsn_t commit_lsn=lsn_t::null) |
Public Attributes | |
| uint16_t | _vid |
| uint16_t | _stores |
| bool | _lock_taken [LIL_MODES] |
| lil_private_store_table | _store_tables [MAX_STORE_PER_VOL_XCT] |
Private Member Functions | |
| lil_private_store_table * | _find_store_table (uint32_t store) |
LIL private lock table to remember Volume locks and Stores in it.
|
inline |
|
inline |
|
private |
| w_rc_t lil_private_vol_table::acquire_store_lock | ( | lil_global_table * | global_table, |
| const StoreID & | stid, | ||
| lil_lock_modes_t | mode | ||
| ) |
Get a lock on store.
| [in] | global_table | accesses this global table to acuiqre lock |
| [in] | stid | ID of the store to access |
| [in] | mode | lock mode |
|
inline |
| void lil_private_vol_table::release_vol_locks | ( | lil_global_table * | global_table, |
| bool | read_lock_only = false, |
||
| lsn_t | commit_lsn = lsn_t::null |
||
| ) |
Release all locks acquired for this volume. This never fails or takes long time.
| [in] | read_lock_only | if true, releases only read locks. default false. |
| bool lil_private_vol_table::_lock_taken[LIL_MODES] |
| lil_private_store_table lil_private_vol_table::_store_tables[MAX_STORE_PER_VOL_XCT] |
| uint16_t lil_private_vol_table::_stores |
| uint16_t lil_private_vol_table::_vid |
1.8.12