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