diff options
author | Morten Johan Sørvig <morten.sorvig@nokia.com> | 2010-04-21 06:09:36 (GMT) |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@nokia.com> | 2010-04-21 06:09:36 (GMT) |
commit | 4c4f726a91e9177ad6840c80a347f73932eda844 (patch) | |
tree | 92d1b487ccfb0a727caf62830ae81552dc899320 /src | |
parent | e46aeaf529be4598d809417e74ac09de4170465f (diff) | |
download | Qt-4c4f726a91e9177ad6840c80a347f73932eda844.zip Qt-4c4f726a91e9177ad6840c80a347f73932eda844.tar.gz Qt-4c4f726a91e9177ad6840c80a347f73932eda844.tar.bz2 |
Revert "Report the error as being AlreadyExists if this is why it fails"
This reverts commit 73a1291a3f097787f00d79d0d27bd75219bf8e3d.
Test failures:
qsystemsemaphore::key (unix platforms)
All of qsharedmemory (unix, windows)
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qsystemsemaphore_unix.cpp | 2 | ||||
-rw-r--r-- | src/corelib/kernel/qsystemsemaphore_win.cpp | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/corelib/kernel/qsystemsemaphore_unix.cpp b/src/corelib/kernel/qsystemsemaphore_unix.cpp index d6c6c37..07e3618 100644 --- a/src/corelib/kernel/qsystemsemaphore_unix.cpp +++ b/src/corelib/kernel/qsystemsemaphore_unix.cpp @@ -145,10 +145,10 @@ key_t QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode mode) // Get semaphore semaphore = semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL); if (-1 == semaphore) { - setErrorString(QLatin1String("QSystemSemaphore::handle")); if (errno == EEXIST) semaphore = semget(unix_key, 1, 0666 | IPC_CREAT); if (-1 == semaphore) { + setErrorString(QLatin1String("QSystemSemaphore::handle")); cleanHandle(); return -1; } diff --git a/src/corelib/kernel/qsystemsemaphore_win.cpp b/src/corelib/kernel/qsystemsemaphore_win.cpp index 74f253a..96a47f5 100644 --- a/src/corelib/kernel/qsystemsemaphore_win.cpp +++ b/src/corelib/kernel/qsystemsemaphore_win.cpp @@ -69,10 +69,6 @@ void QSystemSemaphorePrivate::setErrorString(const QString &function) error = QSystemSemaphore::PermissionDenied; errorString = QCoreApplication::translate("QSystemSemaphore", "%1: permission denied").arg(function); break; - case ERROR_ALREADY_EXISTS: - error = QSystemSemaphore::AlreadyExists; - errorString = QCoreApplication::translate("QSystemSemaphore", "%1: already exists").arg(function); - break; default: errorString = QCoreApplication::translate("QSystemSemaphore", "%1: unknown error %2").arg(function).arg(windowsError); error = QSystemSemaphore::UnknownError; @@ -92,8 +88,8 @@ HANDLE QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode) if (semaphore == 0) { QString safeName = makeKeyFileName(); semaphore = CreateSemaphore(0, initialValue, MAXLONG, (wchar_t*)safeName.utf16()); - // If the semaphore exists then the handle is still valid but there is still an error - setErrorString(QLatin1String("QSystemSemaphore::handle")); + if (semaphore == NULL) + setErrorString(QLatin1String("QSystemSemaphore::handle")); } return semaphore; |