}
function file_is_locked($filename) {
- error_reporting(0);
- $fp = fopen($filename, "r");
- error_reporting(DEFAULT_ERROR_LEVEL);
- if ($fp) {
- if (flock($fp, LOCK_EX | LOCK_NB)) {
- flock($fp, LOCK_UN);
+ if (function_exists('flock')) {
+ error_reporting(0);
+ $fp = fopen($filename, "r");
+ error_reporting(DEFAULT_ERROR_LEVEL);
+ if ($fp) {
+ if (flock($fp, LOCK_EX | LOCK_NB)) {
+ flock($fp, LOCK_UN);
+ fclose($fp);
+ return false;
+ }
fclose($fp);
- return false;
+ return true;
}
- fclose($fp);
- return true;
}
return false;
}
require_once "db.php";
require_once "db-prefs.php";
require_once "functions.php";
- require_once "magpierss/rss_fetch.inc";
+
+ $lock_filename = "update_feeds.lock";
+
+ $lock_handle = make_lockfile($lock_filename);
+
+ if (!$lock_handle) {
+ die("error: Can't create lockfile ($lock_filename). ".
+ "Maybe another process is already running.\n");
+ }
$link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
db_close($link);
+ unlink($lock_filename);
?>