From 3a3a8bb96d0cb7be2529ab095f305fd3b042783c Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Fri, 7 Jan 2011 20:58:28 +0100 Subject: [feature/system-cron] Abstract the database locking mechanism out of cron. Added a number of tests for the locking mechanism which can now lock arbitrary config variables. PHPBB3-9596 --- phpBB/includes/cron/lock.php | 104 ------------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 phpBB/includes/cron/lock.php (limited to 'phpBB/includes/cron') diff --git a/phpBB/includes/cron/lock.php b/phpBB/includes/cron/lock.php deleted file mode 100644 index 27b8b425c1..0000000000 --- a/phpBB/includes/cron/lock.php +++ /dev/null @@ -1,104 +0,0 @@ -= time()) - { - return false; - } - } - - $this->cron_id = time() . ' ' . unique_id(); - - $sql = 'UPDATE ' . CONFIG_TABLE . " - SET config_value = '" . $db->sql_escape($this->cron_id) . "' - WHERE config_name = 'cron_lock' - AND config_value = '" . $db->sql_escape($config['cron_lock']) . "'"; - $db->sql_query($sql); - - // another cron process altered the table between script start and UPDATE query so exit - if ($db->sql_affectedrows() != 1) - { - return false; - } - - return true; - } - - /** - * Releases the cron lock. - * - * The lock must have been previously obtained, that is, lock() call - * was issued and returned true. - * - * Note: Attempting to release a cron lock that is already released, - * that is, calling unlock() multiple times, is harmless. - * - * @return void - */ - public function unlock() - { - global $db; - - $sql = 'UPDATE ' . CONFIG_TABLE . " - SET config_value = '0' - WHERE config_name = 'cron_lock' - AND config_value = '" . $db->sql_escape($this->cron_id) . "'"; - $db->sql_query($sql); - } -} -- cgit v1.2.1