mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 04:43:03 +01:00
Fixed bug CORE-2340 : Bugcheck 258 (page slot not empty) could occurs under high concurrent load
This commit is contained in:
parent
781a565209
commit
ff50ab26a2
@ -2614,16 +2614,16 @@ static void extend_relation( thread_db* tdbb, jrd_rel* relation, WIN * window)
|
|||||||
CCH_MARK(tdbb, &pp_window);
|
CCH_MARK(tdbb, &pp_window);
|
||||||
ppage->ppg_header.pag_flags &= ~ppg_eof;
|
ppage->ppg_header.pag_flags &= ~ppg_eof;
|
||||||
ppage->ppg_next = new_pp_window.win_page.getPageNum();
|
ppage->ppg_next = new_pp_window.win_page.getPageNum();
|
||||||
ppage = (pointer_page*) CCH_HANDOFF(tdbb, &pp_window, new_pp_window.win_page.getPageNum(),
|
--pp_sequence;
|
||||||
LCK_write, pag_pointer);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CCH_RELEASE(tdbb, &pp_window);
|
CCH_RELEASE(tdbb, &pp_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We've found a slot. Stick in the pointer to the data page */
|
/* We've found a slot. Stick in the pointer to the data page */
|
||||||
|
|
||||||
if (ppage->ppg_page[slot]) {
|
if (ppage->ppg_page[slot])
|
||||||
|
{
|
||||||
|
CCH_RELEASE(tdbb, &pp_window);
|
||||||
CORRUPT(258); /* msg 258 page slot not empty */
|
CORRUPT(258); /* msg 258 page slot not empty */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user