qt6-bb10/tests/auto/corelib/ipc
Ivan Solovev 02c42b26e1 QSharedMemory: fix semaphore creation in legacy mode
The legacy mode was using the new nativeKey to create a semaphore.
As a result, on macOS the name of the semaphore key file was the same
as the name of the shared memory key file.
This lead to a situation when the file was mistakenly deleted when
destroying any instance of the shared memory, not only the one that
created it.
Fix it by using QSystemSemaphore::legacyNativeKey() in legacy mode.

Add a test to verify that we cannot re-create a shared memory with the
same key. The test was failing on macOS without the fix.

Fixes: QTBUG-111855
Pick-to: 6.6
Change-Id: Ib0bc41791e889b1888bbb8aa9044c6b053b63a5a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-11-02 21:14:10 +01:00
..
qnativeipckey IPC: Move the legacy key to the QNativeIpcKey 2023-09-17 18:10:18 -07:00
qsharedmemory QSharedMemory: fix semaphore creation in legacy mode 2023-11-02 21:14:10 +01:00
qsystemsemaphore CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
CMakeLists.txt IPC: add native key support to QSharedMemory 2023-01-22 13:02:04 -03:00
ipctestcommon.h IPC: add support for multiple backends to QSystemSemaphore 2023-01-22 13:02:10 -03:00