summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@nokia.com>2010-04-21 06:09:36 (GMT)
committerMorten Johan Sørvig <morten.sorvig@nokia.com>2010-04-21 06:09:36 (GMT)
commit4c4f726a91e9177ad6840c80a347f73932eda844 (patch)
tree92d1b487ccfb0a727caf62830ae81552dc899320 /src/corelib
parente46aeaf529be4598d809417e74ac09de4170465f (diff)
downloadQt-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/corelib')
-rw-r--r--src/corelib/kernel/qsystemsemaphore_unix.cpp2
-rw-r--r--src/corelib/kernel/qsystemsemaphore_win.cpp8
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;