|
|
@ -51,8 +51,12 @@ public:
|
|
|
|
_filename = fname;
|
|
|
|
_filename = fname;
|
|
|
|
for (int tries = 0; tries < open_tries; ++tries)
|
|
|
|
for (int tries = 0; tries < open_tries; ++tries)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (os::dir_check(fname, dirs))
|
|
|
|
|
|
|
|
if(os::create_dirs(dirs))
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
if (!os::fopen_s(&_fd, fname, mode))
|
|
|
|
if (!os::fopen_s(&_fd, fname, mode))
|
|
|
|
return;
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(open_interval));
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(open_interval));
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -133,6 +137,7 @@ public:
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
private:
|
|
|
|
FILE* _fd;
|
|
|
|
FILE* _fd;
|
|
|
|
|
|
|
|
std::list<std::string> dirs;
|
|
|
|
std::string _filename;
|
|
|
|
std::string _filename;
|
|
|
|
bool _force_flush;
|
|
|
|
bool _force_flush;
|
|
|
|
|
|
|
|
|
|
|
|