From 8c0df6d34bba406e4d8e2711e4f5134a24107b2e Mon Sep 17 00:00:00 2001 From: Keshav Date: Tue, 10 May 2022 10:09:15 +0530 Subject: chore: remove runguard --- src/rungaurd.cpp | 67 -------------------------------------------------------- src/rungaurd.h | 32 --------------------------- 2 files changed, 99 deletions(-) delete mode 100644 src/rungaurd.cpp delete mode 100644 src/rungaurd.h (limited to 'src') diff --git a/src/rungaurd.cpp b/src/rungaurd.cpp deleted file mode 100644 index 887eaf0..0000000 --- a/src/rungaurd.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "rungaurd.h" - -#include - -namespace { - -QString generateKeyHash(const QString &key, const QString &salt) { - QByteArray data; - - data.append(key.toUtf8()); - data.append(salt.toUtf8()); - data = QCryptographicHash::hash(data, QCryptographicHash::Sha1).toHex(); - - return data; -} - -} // namespace - -RunGuard::RunGuard(const QString &key) - : key(key), memLockKey(generateKeyHash(key, "_memLockKey")), - sharedmemKey(generateKeyHash(key, "_sharedmemKey")), - sharedMem(sharedmemKey), memLock(memLockKey, 1) { - memLock.acquire(); - { - QSharedMemory fix( - sharedmemKey); // Fix for *nix: http://habrahabr.ru/post/173281/ - fix.attach(); - } - memLock.release(); -} - -RunGuard::~RunGuard() { release(); } - -bool RunGuard::isAnotherRunning() { - if (sharedMem.isAttached()) - return false; - - memLock.acquire(); - const bool isRunning = sharedMem.attach(); - if (isRunning) - sharedMem.detach(); - memLock.release(); - - return isRunning; -} - -bool RunGuard::tryToRun() { - if (isAnotherRunning()) // Extra check - return false; - - memLock.acquire(); - const bool result = sharedMem.create(sizeof(quint64)); - memLock.release(); - if (!result) { - release(); - return false; - } - - return true; -} - -void RunGuard::release() { - memLock.acquire(); - if (sharedMem.isAttached()) - sharedMem.detach(); - memLock.release(); -} diff --git a/src/rungaurd.h b/src/rungaurd.h deleted file mode 100644 index 06d45a8..0000000 --- a/src/rungaurd.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef RUNGUARD_H -#define RUNGUARD_H - -#include -#include -#include - - -class RunGuard -{ - -public: - RunGuard( const QString& key ); - ~RunGuard(); - - bool isAnotherRunning(); - bool tryToRun(); - void release(); - -private: - const QString key; - const QString memLockKey; - const QString sharedmemKey; - - QSharedMemory sharedMem; - QSystemSemaphore memLock; - - Q_DISABLE_COPY( RunGuard ) -}; - - -#endif // RUNGUARD_H -- cgit v1.2.3