8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 09:23:03 +01:00
This commit is contained in:
robocop 2008-06-10 12:10:03 +00:00
parent 56fdd3d057
commit 7d58d35e15
2 changed files with 5 additions and 4 deletions

View File

@ -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

View File

@ -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);