On 03/15/2016 12:40 PM, Dimitry Sibiryakov wrote:
> 15.03.2016 10:33, Alex Peshkoff wrote:
>> Where do we have races in_current_  codebase?
>     Dunno, you told about them.
>

I've said that _if_ you remove filenames comparison from 
initAttachment() in jrd.cpp or make it case-insensitive on posix there 
_will be_ races.
Current code seems to be ok - at least intensive tests did not show 
races/deadlocks in it.

And be sure - existing in FB3 combination of db-list mutex 
(databases_mutex) and per-database mutex (dbb_init_fini) arrived not 
because we have a desire to make code more complex. It was absolutely 
necessary to release databases_mutex because keeping it locked too long 
(like it was pre fb-2.5) caused various deadlocks. One of them I 
remember - it was related to external databases, but it was not the only 
one. If you want to make this code better please contact privately - I 
will try to explain why I had to add all that checkouts which are 
present in the code.



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to