12.05.2014 16:30, Vlad Khorsun wrote:
>     Sure. And this is why i wrote recently
>
>   > currently used way of GC ... not 100% safe in highly concurrent
> environment.

   Can this case be fixed by moving call to delete_record() below 
garbage_collect()? 
Something like this:


> // If there aren't any old versions, don't worry about garbage collection.
>
> if (!rpb->rpb_b_page) {
>       // Delete old versions fetching data for garbage collection.
>
>       record_param temp = *rpb;
>       RecordStack empty_staying;
>       garbage_collect(tdbb, &temp, rpb->rpb_page, empty_staying);
> }
>
 >      delete_record(tdbb, rpb, prior_page, 0);

-- 
   WBR, SD.

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to