diff options
author | Tobias Koenig <tobias.koenig@kdab.com> | 2014-12-22 11:24:41 +0100 |
---|---|---|
committer | Tobias Koenig <tobias.koenig@kdab.com> | 2015-01-09 10:58:52 +0100 |
commit | 96995db4af6e1f5e9fe313e4c71a41fd939fedf8 (patch) | |
tree | 8445e4bec938e15d48fc0d8c77113211abc05aa1 /src/corelib/kernel/qsystemsemaphore_p.h | |
parent | c3e50db19990c5b1d9088c4418e2804560d35582 (diff) |
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 <ritt.ks@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qsystemsemaphore_p.h')
-rw-r--r-- | src/corelib/kernel/qsystemsemaphore_p.h | 11 |
1 files changed, 10 insertions, 1 deletions
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 <sys/types.h> #endif +#ifdef QT_POSIX_IPC +# include <semaphore.h> +#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; |