summaryrefslogtreecommitdiff
path: root/src/tools/valgrindfake/outputgenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/valgrindfake/outputgenerator.cpp')
-rw-r--r--src/tools/valgrindfake/outputgenerator.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/tools/valgrindfake/outputgenerator.cpp b/src/tools/valgrindfake/outputgenerator.cpp
index 5d797e601f..dd7f836e44 100644
--- a/src/tools/valgrindfake/outputgenerator.cpp
+++ b/src/tools/valgrindfake/outputgenerator.cpp
@@ -30,8 +30,6 @@
#include "outputgenerator.h"
-#include <utils/sleep.h>
-
#include <QAbstractSocket>
#include <QIODevice>
#include <QTextStream>
@@ -39,6 +37,22 @@
#include <QStringList>
#include <QDebug>
+
+// Yes, this is ugly. But please don't introduce a libUtils dependency
+// just to get rid of a single function.
+#ifdef Q_OS_WIN
+#include <windows.h>
+void doSleep(int msec) { ::Sleep(msec); }
+#else
+#include <time.h>
+#include <unistd.h>
+void doSleep(int msec)
+{
+ struct timespec ts = { msec / 1000, (msec % 1000) * 1000000 };
+ ::nanosleep(&ts, NULL);
+}
+#endif
+
using namespace Valgrind::Fake;
OutputGenerator::OutputGenerator(QAbstractSocket *output, QIODevice *input) :
@@ -104,7 +118,7 @@ void OutputGenerator::produceRuntimeError()
m_output->flush();
} else if (m_wait) {
qDebug() << "waiting in fake valgrind for " << m_wait << " seconds..." << endl;
- Utils::sleep(1000 * m_wait);
+ doSleep(1000 * m_wait);
}
}