It seems that different threads use the _drafts object, so the _directoryExists boolean must be guarded. Otherwise, there are situations in which a thread thinks the directory exists (while it does not really exist), tries to write to it and gets a boost exception (this happens once every few times when running the UT).
It seems that different threads use the _drafts object, so the _directoryExists boolean must be guarded. Otherwise, there are situations in which a thread thinks the directory exists (while it does not really exist), tries to write to it and gets a boost exception (this happens once every few times when running the UT).