diff --git a/src/main.cc b/src/main.cc index c71f483..91c48eb 100644 --- a/src/main.cc +++ b/src/main.cc @@ -35,6 +35,8 @@ This file is part of the QGROUNDCONTROL project #include "QGCApplication.h" +#define SINGLE_INSTANCE_PORT 14499 + #ifndef __mobile__ #include "QGCSerialPortInfo.h" #endif @@ -119,6 +121,16 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) 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 #ifndef __ios__ // Prevent Apple's app nap from screwing us over