From 58fc7095edfddc76100aacf6fb22dd6527c8a739 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 7 Jun 2013 09:39:12 +0400 Subject: [PATCH] make_lockfile: check ino and dev fields for lock file (refs #703) --- include/functions.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/functions.php b/include/functions.php index 2f288737e..87917a5cb 100644 --- a/include/functions.php +++ b/include/functions.php @@ -992,6 +992,13 @@ $fp = fopen(LOCK_DIRECTORY . "/$filename", "w"); if ($fp && flock($fp, LOCK_EX | LOCK_NB)) { + $stat_h = fstat($fp); + $stat_f = stat(LOCK_DIRECTORY . "/$filename"); + + if ($stat_h["ino"] != $stat_f["ino"] || $stat_h["dev"] != $stat_f["dev"]) { + return false; + } + if (function_exists('posix_getpid')) { fwrite($fp, posix_getpid() . "\n"); }