summaryrefslogtreecommitdiff
path: root/src/usvfsconnector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/usvfsconnector.cpp')
-rw-r--r--src/usvfsconnector.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp
index db20a54f..bc818685 100644
--- a/src/usvfsconnector.cpp
+++ b/src/usvfsconnector.cpp
@@ -76,13 +76,16 @@ LogWorker::~LogWorker()
void LogWorker::process()
{
+ int noLogCycles = 0;
while (!m_QuitRequested) {
if (GetLogMessages(&m_Buffer[0], m_Buffer.size(), false)) {
m_LogFile.write(m_Buffer.c_str());
m_LogFile.write("\n");
m_LogFile.flush();
+ noLogCycles = 0;
} else {
- QThread::sleep(1);
+ QThread::msleep(std::min(40, noLogCycles) * 5);
+ ++noLogCycles;
}
}
emit finished();
@@ -148,11 +151,13 @@ void UsvfsConnector::updateMapping(const MappingType &mapping)
if (value % 10 == 0) {
QCoreApplication::processEvents();
}
+
if (map.isDirectory) {
VirtualLinkDirectoryStatic(map.source.toStdWString().c_str(),
map.destination.toStdWString().c_str(),
(map.createTarget ? LINKFLAG_CREATETARGET : 0)
- | LINKFLAG_RECURSIVE);
+ | LINKFLAG_RECURSIVE
+ );
} else {
VirtualLinkFile(map.source.toStdWString().c_str(),
map.destination.toStdWString().c_str(), 0);