08.12.2015 19:09, Dimitry Sibiryakov wrote:
> 08.12.2015 17:45, Vlad Khorsun wrote:
...

>>      Note, cleanSweepFlags() is never called after 
>> Database::allowSweepThread(). It is called after
>> another method - Database::allowSweepRun()
>
>     Which is called after allowSweepThread(). Total sequence is:
>
> 1) allowSweepThread() set DBB_sweep_starting

   Then code attempts to start sweep thread. Which could fail.

> 2) allowSweepRun() set DBB_sweep_in_progress and clear DBB_sweep_starting
> 3) cleanSweepFlags() clear both.
>
>     One question: what will be wrong if allowSweepRun() don't clear 
> DBB_sweep_starting?

   It could disable auto-sweep in this process.

Regards,
Vlad


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to