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 Change-Id: Ib0bc41791e889b1888bbb8aa9044c6b053b63a5a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 02c42b26e1ff94047657c4838128cb5b22d24d2b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
…
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%