Commit 4384320d authored by dogmaphobic's avatar dogmaphobic

Detect running instance and prevent loading second instance.

parent 9e68f04a
...@@ -35,6 +35,8 @@ This file is part of the QGROUNDCONTROL project ...@@ -35,6 +35,8 @@ This file is part of the QGROUNDCONTROL project
#include "QGCApplication.h" #include "QGCApplication.h"
#define SINGLE_INSTANCE_PORT 14499
#ifndef __mobile__ #ifndef __mobile__
#include "QGCSerialPortInfo.h" #include "QGCSerialPortInfo.h"
#endif #endif
...@@ -119,6 +121,16 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) ...@@ -119,6 +121,16 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
#ifndef __mobile__
//-- Test for another instance already running. If that's the case, we simply exit.
QHostAddress host("127.0.0.1");
QUdpSocket socket;
if(!socket.bind(host, SINGLE_INSTANCE_PORT, QAbstractSocket::DontShareAddress)) {
qWarning() << "Another instance already running. Exiting.";
exit(-1);
}
#endif
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
#ifndef __ios__ #ifndef __ios__
// Prevent Apple's app nap from screwing us over // Prevent Apple's app nap from screwing us over
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment