diff options
Diffstat (limited to 'src/tools/valgrindfake/outputgenerator.cpp')
-rw-r--r-- | src/tools/valgrindfake/outputgenerator.cpp | 20 |
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); } } |