mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/9061] Simplify conditional statements by reworking the logic.
PHPBB3-9061
This commit is contained in:
parent
01ef46a510
commit
9819700247
1 changed files with 18 additions and 12 deletions
|
@ -647,25 +647,31 @@ class queue
|
||||||
{
|
{
|
||||||
$mode = 'wb';
|
$mode = 'wb';
|
||||||
}
|
}
|
||||||
|
|
||||||
$lock_fp = @fopen($this->cache_file . '.lock', $mode);
|
$lock_fp = @fopen($this->cache_file . '.lock', $mode);
|
||||||
|
|
||||||
|
if ($mode == 'wb')
|
||||||
|
{
|
||||||
|
if (!$lock_fp)
|
||||||
|
{
|
||||||
// Two processes may attempt to create lock file at the same time.
|
// Two processes may attempt to create lock file at the same time.
|
||||||
// Have the losing process try opening the lock file again for reading
|
// Have the losing process try opening the lock file again for reading
|
||||||
// on the assumption that the winning process created it
|
// on the assumption that the winning process created it
|
||||||
if (!$lock_fp && $mode == 'wb')
|
|
||||||
{
|
|
||||||
// Assign to $mode for the check in chmod below
|
|
||||||
$mode = 'rb';
|
$mode = 'rb';
|
||||||
$lock_fp = @fopen($this->cache_file . '.lock', $mode);
|
$lock_fp = @fopen($this->cache_file . '.lock', $mode);
|
||||||
}
|
}
|
||||||
if ($lock_fp && $mode == 'wb')
|
else
|
||||||
{
|
{
|
||||||
// Only need to set mode when the lock file is written
|
// Only need to set mode when the lock file is written
|
||||||
@chmod($this->cache_file . '.lock', 0666);
|
@chmod($this->cache_file . '.lock', 0666);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($lock_fp)
|
if ($lock_fp)
|
||||||
{
|
{
|
||||||
@flock($lock_fp, LOCK_EX);
|
@flock($lock_fp, LOCK_EX);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $lock_fp;
|
return $lock_fp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue