Merge pull request #3746 from annando/snarl

Semaphore lock deactivated for PHP lower 5.6.1
This commit is contained in:
Tobias Diekershoff 2017-09-30 10:15:29 +02:00 committed by GitHub
commit cc7d5602a9
2 changed files with 11 additions and 2 deletions

View File

@ -150,6 +150,10 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) {
} }
} }
if (Config::get('system', 'ipv4_resolve', false)) {
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
if ($binary) { if ($binary) {
@curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); @curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
} }
@ -278,6 +282,10 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0)
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
if (Config::get('system', 'ipv4_resolve', false)) {
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
if (intval($timeout)) { if (intval($timeout)) {
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
} else { } else {

View File

@ -76,7 +76,8 @@ class Lock {
$got_lock = false; $got_lock = false;
$start = time(); $start = time();
if (function_exists('sem_get')) { // The second parameter for "sem_acquire" doesn't exist before 5.6.1
if (function_exists('sem_get') && version_compare(PHP_VERSION, '5.6.1', '>=')) {
self::$semaphore[$fn_name] = sem_get(self::semaphoreKey($fn_name)); self::$semaphore[$fn_name] = sem_get(self::semaphoreKey($fn_name));
if (self::$semaphore[$fn_name]) { if (self::$semaphore[$fn_name]) {
return sem_acquire(self::$semaphore[$fn_name], ($timeout == 0)); return sem_acquire(self::$semaphore[$fn_name], ($timeout == 0));
@ -156,7 +157,7 @@ class Lock {
* @param string $fn_name Name of the lock * @param string $fn_name Name of the lock
*/ */
public static function remove($fn_name) { public static function remove($fn_name) {
if (function_exists('sem_get')) { if (function_exists('sem_get') && version_compare(PHP_VERSION, '5.6.1', '>=')) {
if (empty(self::$semaphore[$fn_name])) { if (empty(self::$semaphore[$fn_name])) {
return false; return false;
} else { } else {