mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 13:23:02 +01:00
Misc.
This commit is contained in:
parent
56fdd3d057
commit
7d58d35e15
@ -2066,7 +2066,7 @@ SRQ_PTR LockManager::grant_or_que(thread_db* tdbb, lrq* request, lbl* lock, SSHO
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LockManager::init_owner_block(own* owner, UCHAR owner_type, LOCK_OWNER_T owner_id)
|
void LockManager::init_owner_block(own* owner, UCHAR owner_type, LOCK_OWNER_T owner_id) const
|
||||||
{
|
{
|
||||||
/**************************************
|
/**************************************
|
||||||
*
|
*
|
||||||
@ -3791,7 +3791,7 @@ USHORT LockManager::wait_for_request(thread_db* tdbb, lrq* request, SSHORT lck_w
|
|||||||
// Do not do rescan of owners if we received notification that
|
// Do not do rescan of owners if we received notification that
|
||||||
// blocking ASTs have completed - will do it next time if needed.
|
// blocking ASTs have completed - will do it next time if needed.
|
||||||
|
|
||||||
else if (probe_processes() && !(request->lrq_flags & LRQ_pending))
|
if (probe_processes() && !(request->lrq_flags & LRQ_pending))
|
||||||
{
|
{
|
||||||
release_shmem(owner_offset);
|
release_shmem(owner_offset);
|
||||||
break;
|
break;
|
||||||
@ -3799,7 +3799,7 @@ USHORT LockManager::wait_for_request(thread_db* tdbb, lrq* request, SSHORT lck_w
|
|||||||
|
|
||||||
// If we've not previously been scanned for a deadlock, go do a deadlock scan
|
// If we've not previously been scanned for a deadlock, go do a deadlock scan
|
||||||
|
|
||||||
else if (!(owner->own_flags & OWN_scanned) &&
|
if (!(owner->own_flags & OWN_scanned) &&
|
||||||
(blocking_request = deadlock_scan(owner, request)))
|
(blocking_request = deadlock_scan(owner, request)))
|
||||||
{
|
{
|
||||||
// Something has been selected for rejection to prevent a
|
// Something has been selected for rejection to prevent a
|
||||||
|
@ -100,7 +100,7 @@ private:
|
|||||||
lrq* get_request(SRQ_PTR);
|
lrq* get_request(SRQ_PTR);
|
||||||
void grant(lrq*, lbl*);
|
void grant(lrq*, lbl*);
|
||||||
SRQ_PTR grant_or_que(thread_db*, lrq*, lbl*, SSHORT);
|
SRQ_PTR grant_or_que(thread_db*, lrq*, lbl*, SSHORT);
|
||||||
void init_owner_block(own*, UCHAR, LOCK_OWNER_T);
|
void init_owner_block(own*, UCHAR, LOCK_OWNER_T) const;
|
||||||
void initialize(SH_MEM, bool);
|
void initialize(SH_MEM, bool);
|
||||||
void insert_data_que(lbl*);
|
void insert_data_que(lbl*);
|
||||||
void insert_tail(SRQ, SRQ);
|
void insert_tail(SRQ, SRQ);
|
||||||
@ -120,6 +120,7 @@ private:
|
|||||||
void release_mutex();
|
void release_mutex();
|
||||||
void release_request(lrq*);
|
void release_request(lrq*);
|
||||||
bool signal_owner(thread_db*, own*, SRQ_PTR);
|
bool signal_owner(thread_db*, own*, SRQ_PTR);
|
||||||
|
//#define VALIDATE_LOCK_TABLE
|
||||||
#ifdef VALIDATE_LOCK_TABLE
|
#ifdef VALIDATE_LOCK_TABLE
|
||||||
void validate_history(const SRQ_PTR history_header);
|
void validate_history(const SRQ_PTR history_header);
|
||||||
void validate_parent(const lhb*, const SRQ_PTR);
|
void validate_parent(const lhb*, const SRQ_PTR);
|
||||||
|
Loading…
Reference in New Issue
Block a user