From 25522af61f488a27fae7a24cdc7b2c949f442eed Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 30 Jul 2015 17:32:26 +0200 Subject: Moved lockfile into synchronizer For better testability of listener. --- synchronizer/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'synchronizer') diff --git a/synchronizer/main.cpp b/synchronizer/main.cpp index 11fec25..2b0cfe3 100644 --- a/synchronizer/main.cpp +++ b/synchronizer/main.cpp @@ -18,6 +18,7 @@ */ #include +#include #include @@ -41,7 +42,16 @@ int main(int argc, char *argv[]) return app.exec(); } - Listener *listener = new Listener(argv[1], &app); + const QByteArray instanceIdentifier = argv[1]; + + QLockFile lockfile(instanceIdentifier + ".lock"); + lockfile.setStaleLockTime(0); + if (!lockfile.tryLock(0)) { + Warning() << "Failed to acquire exclusive lock on socket."; + return -1; + } + + Listener *listener = new Listener(instanceIdentifier, &app); QObject::connect(&app, &QCoreApplication::aboutToQuit, listener, &Listener::closeAllConnections); -- cgit v1.2.3