note 16828 added to function.flock
| From: | JesseChisholm at usa dot net | Date: | Thu, 15 Nov 2001 03:31:36 +0000 |
| Subject: | note 16828 added to function.flock | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-20859@lists.php.net to get a copy of this message | ||
Perhaps this is showing my age, but older UNIX systems did the append style locking with a separate
file. Like this:
function file_lock( $filename, $mode ) {
$lock = fopen( $filename . ".lock", "a" );
if (!$lock) return NULL;
if (!flock( $lock, $mode )) {
fclose($lock);
return NULL;
}
return $lock;
}
function file_unlock( $lock ) {
flock( $lock, LOCK_UN );
fclose( $lock );
}
// writer
$lock = file_lock( "real.file", LOCK_EX+LOCK_NB );
if ($lock) {
...
file_unlock($lock);
}
// reader
$lock = file_lock( "real.file", LOCK_SH+LOCK_NB );
if ($lock) {
...
file_unlock($lock);
}
--
http://www.php.net/manual/en/function.flock.php
http://master.php.net/manage/user-notes.php?action=edit+16828
http://master.php.net/manage/user-notes.php?action=delete+16828
http://master.php.net/manage/user-notes.php?action=reject+16828