From: Brad House Date: Wed, 20 Aug 2003 19:45:07 +0000 (+0000) Subject: allow destructor to clean up connection data X-Git-Tag: RELEASE_0_7~541 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f0bf9dd62d0b251f7901ee482c845a015797d634;p=php allow destructor to clean up connection data --- diff --git a/ext/mcve/mcve.c b/ext/mcve/mcve.c index 964a895de2..a51a422c24 100644 --- a/ext/mcve/mcve.c +++ b/ext/mcve/mcve.c @@ -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; } /* }}} */