]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorMatteo Beccati <mbeccati@php.net>
Wed, 10 Sep 2014 05:32:36 +0000 (07:32 +0200)
committerMatteo Beccati <mbeccati@php.net>
Wed, 10 Sep 2014 05:32:36 +0000 (07:32 +0200)
* PHP-5.6:
  FR #67990 - Added nowait argument to sem_acquire

1  2 
ext/sysvsem/sysvsem.c

index 6f7948519effd543959ad979a3707bf6145a4d0e,fce70b9e02eaf586e4da37d5d52ef402118051bc..7ae3628a59790bb0045277a254dfbb32c3a4400a
@@@ -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);