08.12.2015 23:26, Vlad Khorsun wrote:
>> 1) allowSweepThread() set DBB_sweep_starting
>     Then code attempts to start sweep thread. Which could fail.

   If start thread fail, clearSweepFlags() will be called, clearing both flags.
   May be you mean failed sweeper attach? Yes, this case will leave the flag 
set till the 
end of world.

>> >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.

   How? The routine is called in TRA_sweep(). All exit paths from TRA_sweep() 
(successful 
and error ones) are calling clearSweepFlags().

-- 
   WBR, SD.

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

Reply via email to