]> granicus.if.org Git - php/commitdiff
allow destructor to clean up connection data
authorBrad House <bradmssw@php.net>
Wed, 20 Aug 2003 19:45:07 +0000 (19:45 +0000)
committerBrad House <bradmssw@php.net>
Wed, 20 Aug 2003 19:45:07 +0000 (19:45 +0000)
ext/mcve/mcve.c

index 964a895de22ec96401046b61760db0231ac6a8af..a51a422c2454a6f4c7865da9be9b6f123dd59702 100644 (file)
@@ -508,10 +508,17 @@ PHP_FUNCTION(mcve_destroyconn)
        if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE)
                WRONG_PARAM_COUNT;
 
+/* If MCVE_DestroyConn() is called within a PHP script, the Resource handle is
+   never cleared, as there does not appear to be an UNREGISTER or DESTROY resource
+   call in the Zend API.  What happens is this uninitialized memory location is
+   passed again to the MCVE_DestroyConn() function at script exit (cleanup), and
+   causes weird stuff. So we just go ahead and let the PHP garbage collector call
+   our _free_mcve_conn()  we registered (le_conn) to clean up */
+#if 0
        ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg, -1, "mcve connection", le_conn);
 
        MCVE_DestroyConn(conn);
-
+#endif
        RETURN_TRUE;
 }
 /* }}} */