mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 04:43:03 +01:00
Additional patch for CORE-6015 : Segfault when using expression index with complex expression.
This commit is contained in:
parent
d0d7a207b1
commit
2caa4f7629
@ -297,7 +297,16 @@ inline void waitGCActive(thread_db* tdbb, const record_param* rpb)
|
||||
Lock temp_lock(tdbb, sizeof(SINT64), LCK_record_gc);
|
||||
temp_lock.setKey(((SINT64) rpb->rpb_page << 16) | rpb->rpb_line);
|
||||
|
||||
if (!LCK_lock(tdbb, &temp_lock, LCK_SR, LCK_WAIT))
|
||||
SSHORT wait = LCK_WAIT;
|
||||
|
||||
jrd_tra* transaction = tdbb->getTransaction();
|
||||
if (transaction->tra_number == rpb->rpb_transaction_nr)
|
||||
{
|
||||
// There is no sense to wait for self
|
||||
wait = LCK_NO_WAIT;
|
||||
}
|
||||
|
||||
if (!LCK_lock(tdbb, &temp_lock, LCK_SR, wait))
|
||||
ERR_punt();
|
||||
|
||||
LCK_release(tdbb, &temp_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user