cvs: php4 /ext/sysvshm sysvshm.c

From: Date: Tue, 15 May 2001 07:32:34 +0000
Subject: cvs: php4 /ext/sysvshm sysvshm.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-5755@lists.php.net to get a copy of this message
swm Tue May 15 00:32:34 2001 EDT Modified files: /php4/ext/sysvshm sysvshm.c Log: fixed shm_remove to expect the correct argument. Index: php4/ext/sysvshm/sysvshm.c diff -u php4/ext/sysvshm/sysvshm.c:1.36 php4/ext/sysvshm/sysvshm.c:1.37 --- php4/ext/sysvshm/sysvshm.c:1.36 Sun Feb 25 22:07:25 2001 +++ php4/ext/sysvshm/sysvshm.c Tue May 15 00:32:34 2001 @@ -16,9 +16,11 @@ +----------------------------------------------------------------------+ */ -/* $Id: sysvshm.c,v 1.36 2001/02/26 06:07:25 andi Exp $ */ +/* $Id: sysvshm.c,v 1.37 2001/05/15 07:32:34 swm Exp $ */ -/* This has been built and tested on Solaris 2.6. +/* This has been built and tested on Linux 2.2.14 + * + * This has been built and tested on Solaris 2.6. * It may not compile or execute correctly on other systems. */ @@ -173,26 +175,25 @@ /* }}} */ /* {{{ proto int shm_remove(int shm_identifier) Removes shared memory from Unix systems */ + PHP_FUNCTION(shm_remove) { - pval **arg_key; + pval **arg_id; long id; - key_t key; + int type; + sysvshm_shm *shm_list_ptr; - if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg_key) == FAILURE) { + if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg_id) == FAILURE) { WRONG_PARAM_COUNT; } - convert_to_long_ex(arg_key); + convert_to_long_ex(arg_id); - key = (*arg_key)->value.lval; + id = (*arg_id)->value.lval; - if((id=shmget(key,0,0))<0) { - php_error(E_WARNING, "%d is not a existing SysV shared memory key", key); - RETURN_FALSE; - } - if(shmctl(id,IPC_RMID,NULL)<0) { - php_error(E_WARNING, "shm_remove() failed for key 0x%x: %s", key, strerror(errno)); + shm_list_ptr = (sysvshm_shm *) zend_list_find(id, &type); + if(shmctl(shm_list_ptr->id,IPC_RMID,NULL)<0) { + php_error(E_WARNING, "shm_remove() failed for key 0x%x, id %i: %s", shm_list_ptr->key, id,strerror(errno)); RETURN_FALSE; }

« previous php.cvs (#5755) next »