My Project
|
Public Member Functions | |
MDL_object_lock (const MDL_key *key_arg, MDL_map_partition *map_part) | |
void | reset (const MDL_key *new_key) |
virtual const bitmap_t * | incompatible_granted_types_bitmap () const |
virtual const bitmap_t * | incompatible_waiting_types_bitmap () const |
virtual bool | needs_notification (const MDL_ticket *ticket) const |
virtual void | notify_conflicting_locks (MDL_context *ctx) |
virtual bitmap_t | hog_lock_types_bitmap () const |
Public Attributes | |
MDL_object_lock * | next_in_cache |
MDL_object_lock ** | prev_in_cache |
An implementation of a per-object lock. Supports SHARED, SHARED_UPGRADABLE, SHARED HIGH PRIORITY and EXCLUSIVE locks.
void MDL_object_lock::notify_conflicting_locks | ( | MDL_context * | ctx | ) | [virtual] |
Notify threads holding a shared metadata locks on object which conflict with a pending X, SNW or SNRW lock.
ctx | MDL_context for current thread. |
Implements MDL_lock.
void MDL_object_lock::reset | ( | const MDL_key * | new_key | ) | [inline] |
Reset unused MDL_object_lock object to represent the lock context for a different object.
Members for linking the object into the list of unused objects.