From: Matteo Beccati Date: Wed, 10 Sep 2014 05:32:36 +0000 (+0200) Subject: Merge branch 'PHP-5.6' X-Git-Tag: POST_PHP7_EREG_MYSQL_REMOVALS~4^2~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=205b6b8a13f400d9f0ed5829056471df4f680bb4;p=php Merge branch 'PHP-5.6' * PHP-5.6: FR #67990 - Added nowait argument to sem_acquire --- 205b6b8a13f400d9f0ed5829056471df4f680bb4 diff --cc ext/sysvsem/sysvsem.c index 6f7948519e,fce70b9e02..7ae3628a59 --- a/ext/sysvsem/sysvsem.c +++ b/ext/sysvsem/sysvsem.c @@@ -302,11 -303,17 +304,17 @@@ static void php_sysvsem_semop(INTERNAL_ sysvsem_sem *sem_ptr; struct sembuf sop; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &arg_id) == FAILURE) { - return; + if (acquire) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|b", &arg_id, &nowait) == FAILURE) { + return; + } + } else { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &arg_id) == FAILURE) { + return; + } } - ZEND_FETCH_RESOURCE(sem_ptr, sysvsem_sem *, &arg_id, -1, "SysV semaphore", php_sysvsem_module.le_sem); + ZEND_FETCH_RESOURCE(sem_ptr, sysvsem_sem *, arg_id, -1, "SysV semaphore", php_sysvsem_module.le_sem); if (!acquire && sem_ptr->count == 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "SysV semaphore %ld (key 0x%x) is not currently acquired", Z_LVAL_P(arg_id), sem_ptr->key);