e85a3cde2f
The problem with non-legacy mode is that the backend uses the same filename for the system semaphore file and for the shared memory file. What happens is that when we try to call attach(), a semaphore is created. Later in attach() we set unix_key, because ftok() returns a valid handle (it uses the file which was created for semaphore). After that, an attempt to actually attach to a shared memory fails, but no clean-up is done. So, a later call to create() sees that unix_key is already valid, but it cannot properly clean it, because it does not actually refer to any shared memory. Fix it by cleaning up unix_key and nativeKeyFile if shmget() call in attach() fails. Pick-to: 6.6 Change-Id: Ibccc3ac307d8b2e07e1b9b24b55f97a859a03131 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> |
||
---|---|---|
.. | ||
qnativeipckey | ||
qsharedmemory | ||
qsystemsemaphore | ||
CMakeLists.txt | ||
ipctestcommon.h |