diff --git a/lib/ipcomm.cpp b/lib/ipcomm.cpp index a6b05c3f9..d845a604b 100644 --- a/lib/ipcomm.cpp +++ b/lib/ipcomm.cpp @@ -1,9 +1,13 @@ #include -#include +#include +#include #include // Multiple instances: KK1D, 17 Jul 2013 -QSharedMemory mem_jt9("mem_jt9"); +QSharedMemory mem_jt9; + +// Semaphore not changed, as the acquire/release calls do not +// appear to be used anywhere. QSystemSemaphore sem_jt9("sem_jt9", 1, QSystemSemaphore::Open); extern "C" { @@ -14,6 +18,8 @@ extern "C" { bool unlock_jt9_(); char* address_jt9_(); int size_jt9_(); +// Multiple instances: wrapper for QSharedMemory::setKey() + bool setkey_jt9_(char* mykey, int mykey_len); bool acquire_jt9_(); bool release_jt9_(); @@ -31,5 +37,14 @@ bool unlock_jt9_() {return mem_jt9.unlock();} char* address_jt9_() {return (char*)mem_jt9.constData();} int size_jt9_() {return (int)mem_jt9.size();} +// Multiple instances: +bool setkey_jt9_(char* mykey, int mykey_len) { + char *tempstr = (char *)calloc(mykey_len+1,1); + memset(tempstr, 0, mykey_len+1); + strncpy(tempstr, mykey, mykey_len); + QString s1 = QString(QLatin1String(tempstr)); + mem_jt9.setKey(s1); + return true;} + bool acquire_jt9_() {return sem_jt9.acquire();} bool release_jt9_() {return sem_jt9.release();} diff --git a/mainwindow.cpp b/mainwindow.cpp index 068b5bfc2..f2884b4d6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------- MainWindow +//------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h"