summaryrefslogtreecommitdiff
path: root/ext/shmop
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
committerAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
commit7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch)
treee38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/shmop
parenta0cfab65ea72963f81a3440a3587d11bd7800337 (diff)
downloadphp-git-7b4983c8f82c4f361df787f58c6f5cf88d5def0b.tar.gz
Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type() * Switched register_list_destructors() to use zend_register_list_destructors_ex() instead * Updated all relevant modules to provide the resource type name to register_list_destructors() call * Updated var_dump() to output resource type name instead of number @- Made resource type names visible, e.g. var_dump() and @ get_resource_type() display "file" for file resources. (Andrei)
Diffstat (limited to 'ext/shmop')
-rw-r--r--ext/shmop/shmop.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/ext/shmop/shmop.c b/ext/shmop/shmop.c
index f2531acd18..bbaadb84c0 100644
--- a/ext/shmop/shmop.c
+++ b/ext/shmop/shmop.c
@@ -60,21 +60,20 @@ zend_module_entry shmop_module_entry = {
ZEND_GET_MODULE(shmop)
#endif
-static void rsclean(struct php_shmop *shmop);
+static void rsclean(zend_rsrc_list_entry *rsrc)
+{
+ struct php_shmop *shmop = (struct php_shmop *)rsrc->ptr;
+ shmdt(shmop->addr);
+ efree(shmop);
+}
PHP_MINIT_FUNCTION(shmop)
{
- shm_type = register_list_destructors(rsclean, NULL);
+ shm_type = register_list_destructors(rsclean, NULL, "shmop");
return SUCCESS;
}
-static void rsclean(struct php_shmop *shmop)
-{
- shmdt(shmop->addr);
- efree(shmop);
-}
-
PHP_MSHUTDOWN_FUNCTION(shmop)
{
return SUCCESS;