|Anonymous | Login||2017-05-01 00:35 CEST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002644||Endian Firewall||Other Scripts||public||2010-01-28 15:28||2010-09-21 20:33|
|Target Version||future||Fixed in Version|
|Summary||0002644: synchronization issues in endian.core.notification module|
|Description||StatusFileMutex.__init__() removes the mutex file if it does already exist|
StatusFile.close() removes the mutex file after releasing the lock.
what if another process (B) acquired a lock on the mutex file held by process A? That process stored already the filehandle and blocks until A releases. When process C removes the file, before acquire(), C can create a new file which is not more blocked by A. The file blocked by A is removed from the filesystem, but the filedescriptor is still open and A can write to it.
When A closes that filedescriptor, process B will be able to open it and continue operations on it. But that is not more the same file as we see in the filesystem.
In that case 2 processes with the same lockfile are running but only 1 lockfile is visible in filesystem.
That's no mutex
|Tags||No tags attached.|
|2010-01-28 15:28||peter-endian||New Issue|
|2010-09-21 20:33||peter-endian||Status||new => confirmed|
|Copyright © 2000 - 2012 MantisBT Group|