Try to get main to quit
This commit is contained in:
@@ -848,8 +848,6 @@ public:
|
|||||||
{
|
{
|
||||||
_siaApi = siaApi;
|
_siaApi = siaApi;
|
||||||
_siaDriveConfig = siaDriveConfig;
|
_siaDriveConfig = siaDriveConfig;
|
||||||
// May spend a little wait time here while files are cleaned-up and re-added to queue
|
|
||||||
_uploadManager.reset(new CUploadManager(CSiaCurl(siaApi->GetHostConfig()), siaDriveConfig));
|
|
||||||
_dokanOps.Cleanup = Sia_Cleanup;
|
_dokanOps.Cleanup = Sia_Cleanup;
|
||||||
_dokanOps.CloseFile = Sia_CloseFile;
|
_dokanOps.CloseFile = Sia_CloseFile;
|
||||||
_dokanOps.DeleteDirectory = nullptr;
|
_dokanOps.DeleteDirectory = nullptr;
|
||||||
@@ -891,6 +889,8 @@ public:
|
|||||||
_mountPoint = tmp;
|
_mountPoint = tmp;
|
||||||
_mountThread.reset(new std::thread([&]()
|
_mountThread.reset(new std::thread([&]()
|
||||||
{
|
{
|
||||||
|
// May spend a little wait time here while files are cleaned-up and re-added to queue
|
||||||
|
_uploadManager.reset(new CUploadManager(CSiaCurl(_siaApi->GetHostConfig()), _siaDriveConfig));
|
||||||
_dokanOptions.MountPoint = _mountPoint.ToUpper().str().c_str();
|
_dokanOptions.MountPoint = _mountPoint.ToUpper().str().c_str();
|
||||||
_mountStatus = DokanMain(&_dokanOptions, &_dokanOps);
|
_mountStatus = DokanMain(&_dokanOptions, &_dokanOps);
|
||||||
OutputDebugString(std::to_wstring(_mountStatus).c_str());
|
OutputDebugString(std::to_wstring(_mountStatus).c_str());
|
||||||
@@ -902,7 +902,8 @@ public:
|
|||||||
{
|
{
|
||||||
if (_mountThread)
|
if (_mountThread)
|
||||||
{
|
{
|
||||||
DokanRemoveMountPoint(&_mountPoint[0]);
|
while (!DokanRemoveMountPoint(&_mountPoint[0]))
|
||||||
|
::Sleep(1000);
|
||||||
_mountThread->join();
|
_mountThread->join();
|
||||||
_mountThread.reset(nullptr);
|
_mountThread.reset(nullptr);
|
||||||
_mountPoint = "";
|
_mountPoint = "";
|
||||||
|
Reference in New Issue
Block a user