From 96995db4af6e1f5e9fe313e4c71a41fd939fedf8 Mon Sep 17 00:00:00 2001 From: Tobias Koenig Date: Mon, 22 Dec 2014 11:24:41 +0100 Subject: Add POSIX IPC support to QSystemSemaphore and QSharedMemory This patch is a forward-port from 4.8 branch (d869e1ad4b0007757e97046609de2097cd9e9c5d). Change-Id: I6ae36a5417d1176fbecf775668f6033b1cb22a94 Reviewed-by: Konstantin Ritt Reviewed-by: Thiago Macieira --- src/corelib/kernel/qsystemsemaphore_p.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/corelib/kernel/qsystemsemaphore_p.h') diff --git a/src/corelib/kernel/qsystemsemaphore_p.h b/src/corelib/kernel/qsystemsemaphore_p.h index d71ab4bc36..762c54480d 100644 --- a/src/corelib/kernel/qsystemsemaphore_p.h +++ b/src/corelib/kernel/qsystemsemaphore_p.h @@ -53,6 +53,9 @@ #ifndef Q_OS_WINCE # include #endif +#ifdef QT_POSIX_IPC +# include +#endif QT_BEGIN_NAMESPACE @@ -75,6 +78,9 @@ public: #ifdef Q_OS_WIN Qt::HANDLE handle(QSystemSemaphore::AccessMode mode = QSystemSemaphore::Open); void setErrorString(const QString &function); +#elif defined(QT_POSIX_IPC) + bool handle(QSystemSemaphore::AccessMode mode = QSystemSemaphore::Open); + void setErrorString(const QString &function); #else key_t handle(QSystemSemaphore::AccessMode mode = QSystemSemaphore::Open); void setErrorString(const QString &function); @@ -88,11 +94,14 @@ public: #ifdef Q_OS_WIN Qt::HANDLE semaphore; Qt::HANDLE semaphoreLock; +#elif defined(QT_POSIX_IPC) + sem_t *semaphore; + bool createdSemaphore; #else + key_t unix_key; int semaphore; bool createdFile; bool createdSemaphore; - key_t unix_key; #endif QString errorString; QSystemSemaphore::SystemSemaphoreError error; -- cgit v1.2.3