SYSTEM WARNING: 'date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in '/usr/share/mantis/www/core.php' line 264

0002644: synchronization issues in endian.core.notification module - MantisBT
MantisBT - Endian Firewall
View Issue Details
0002644Endian FirewallOther Scriptspublic2010-01-28 14:282010-09-21 18:33
peter-endian 
 
normalminorrandom
confirmedopen 
 
future 
0002644: synchronization issues in endian.core.notification module
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
No tags attached.
Issue History
2010-01-28 14:28peter-endianNew Issue
2010-09-21 18:33peter-endianStatusnew => confirmed

There are no notes attached to this issue.