From eca580366526b52d3d597fdbd285bfcd96d429db Mon Sep 17 00:00:00 2001 From: Itay Grudev Date: Wed, 9 Sep 2020 02:23:42 +0100 Subject: Moved the random sleep functionality to SingleApplicationPrivate --- singleapplication.cpp | 13 +------------ singleapplication_p.cpp | 18 ++++++++++++++++++ singleapplication_p.h | 1 + 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/singleapplication.cpp b/singleapplication.cpp index 27c0316..9b58bf8 100644 --- a/singleapplication.cpp +++ b/singleapplication.cpp @@ -21,14 +21,8 @@ // THE SOFTWARE. #include -#include #include #include -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) -#include -#else -#include -#endif #include "singleapplication.h" #include "singleapplication_p.h" @@ -119,12 +113,7 @@ SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSeconda qDebug() << "SingleApplication: Unable to unlock memory for random wait."; qDebug() << d->memory->errorString(); } -#if QT_VERSION >= QT_VERSION_CHECK( 5, 10, 0 ) - QThread::sleep( QRandomGenerator::global()->bounded( 8u, 18u )); -#else - qsrand( QDateTime::currentMSecsSinceEpoch() % std::numeric_limits::max() ); - QThread::sleep( 8 + static_cast ( static_cast ( qrand() ) / RAND_MAX * 10 )); -#endif + d->randomSleep(); if( ! d->memory->lock() ){ qCritical() << "SingleApplication: Unable to lock memory after random wait."; abortSafely(); diff --git a/singleapplication_p.cpp b/singleapplication_p.cpp index a826e8a..c453315 100644 --- a/singleapplication_p.cpp +++ b/singleapplication_p.cpp @@ -33,12 +33,20 @@ #include #include +#include #include #include +#include #include #include #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) +#include +#else +#include +#endif + #include "singleapplication.h" #include "singleapplication_p.h" @@ -434,3 +442,13 @@ void SingleApplicationPrivate::slotClientConnectionClosed( QLocalSocket *closedS if( closedSocket->bytesAvailable() > 0 ) Q_EMIT slotDataAvailable( closedSocket, instanceId ); } + +void SingleApplicationPrivate::randomSleep() +{ +#if QT_VERSION >= QT_VERSION_CHECK( 5, 10, 0 ) + QThread::msleep( QRandomGenerator::global()->bounded( 8u, 18u )); +#else + qsrand( QDateTime::currentMSecsSinceEpoch() % std::numeric_limits::max() ); + QThread::msleep( 8 + static_cast ( static_cast ( qrand() ) / RAND_MAX * 10 )); +#endif +} diff --git a/singleapplication_p.h b/singleapplication_p.h index 9358c4b..6ecf9a6 100644 --- a/singleapplication_p.h +++ b/singleapplication_p.h @@ -81,6 +81,7 @@ public: QString primaryUser(); void readInitMessageHeader(QLocalSocket *socket); void readInitMessageBody(QLocalSocket *socket); + void randomSleep(); SingleApplication *q_ptr; QSharedMemory *memory; -- cgit v1.2.1