X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FLock.php;h=31077138e65d87115425f309c8e66eaa362899c5;hb=8891c196ebd01aecfe5c0f2f3be70af4fdcb0adf;hp=ac5c5466edb26ab44c3efd088dfc1a969aeb767d;hpb=edae2a2c7bc01f231eb72a9f385d133d757c1bec;p=civicrm-core.git diff --git a/CRM/Core/Lock.php b/CRM/Core/Lock.php index ac5c5466ed..31077138e6 100644 --- a/CRM/Core/Lock.php +++ b/CRM/Core/Lock.php @@ -3,7 +3,7 @@ +--------------------------------------------------------------------+ | CiviCRM version 5 | +--------------------------------------------------------------------+ - | Copyright CiviCRM LLC (c) 2004-2018 | + | Copyright CiviCRM LLC (c) 2004-2019 | +--------------------------------------------------------------------+ | This file is a part of CiviCRM. | | | @@ -28,7 +28,7 @@ /** * * @package CRM - * @copyright CiviCRM LLC (c) 2004-2018 + * @copyright CiviCRM LLC (c) 2004-2019 * $Id$ * */ @@ -44,11 +44,16 @@ class CRM_Core_Lock implements \Civi\Core\Lock\LockInterface { * * @var bool */ - static $jobLog = FALSE; + public static $jobLog = FALSE; - // lets have a 3 second timeout for now + /** + * lets have a 3 second timeout for now + */ const TIMEOUT = 3; + /** + * @var bool + */ protected $_hasLock = FALSE; protected $_name; @@ -177,15 +182,15 @@ class CRM_Core_Lock implements \Civi\Core\Lock\LockInterface { */ public function acquire($timeout = NULL) { if (!$this->_hasLock) { - if (self::$jobLog && CRM_Core_DAO::singleValueQuery("SELECT IS_USED_LOCK( '" . self::$jobLog . "')")) { + if (!CRM_Utils_SQL::supportsMultipleLocks() && self::$jobLog && CRM_Core_DAO::singleValueQuery("SELECT IS_USED_LOCK( '" . self::$jobLog . "')")) { return $this->hackyHandleBrokenCode(self::$jobLog); } $query = "SELECT GET_LOCK( %1, %2 )"; - $params = array( - 1 => array($this->_id, 'String'), - 2 => array($timeout ? $timeout : $this->_timeout, 'Integer'), - ); + $params = [ + 1 => [$this->_id, 'String'], + 2 => [$timeout ? $timeout : $this->_timeout, 'Integer'], + ]; $res = CRM_Core_DAO::singleValueQuery($query, $params); if ($res) { if (defined('CIVICRM_LOCK_DEBUG')) { @@ -220,7 +225,7 @@ class CRM_Core_Lock implements \Civi\Core\Lock\LockInterface { } $query = "SELECT RELEASE_LOCK( %1 )"; - $params = array(1 => array($this->_id, 'String')); + $params = [1 => [$this->_id, 'String']]; return CRM_Core_DAO::singleValueQuery($query, $params); } } @@ -230,7 +235,7 @@ class CRM_Core_Lock implements \Civi\Core\Lock\LockInterface { */ public function isFree() { $query = "SELECT IS_FREE_LOCK( %1 )"; - $params = array(1 => array($this->_id, 'String')); + $params = [1 => [$this->_id, 'String']]; return CRM_Core_DAO::singleValueQuery($query, $params); }