]> granicus.if.org Git - php/commitdiff
Fix a leak with pconn and mysqlnd
authorAndrey Hristov <andrey@php.net>
Tue, 22 Jul 2008 17:40:43 +0000 (17:40 +0000)
committerAndrey Hristov <andrey@php.net>
Tue, 22 Jul 2008 17:40:43 +0000 (17:40 +0000)
ext/mysql/php_mysql.c

index f6a492b0704a166079bcb723bf4af1a44dad7d22..c767d849a98e500ef515c1672f5b348d1987d09c 100644 (file)
@@ -1005,6 +1005,15 @@ PHP_FUNCTION(mysql_close)
        
        ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
 
+#ifdef MYSQL_USE_MYSQLND
+       {
+               int tmp;
+               if ((mysql = zend_list_find(Z_RESVAL_PP(mysql_link), &tmp)) && tmp == le_plink) {
+                       mysqlnd_end_psession(mysql->conn);
+               }
+       }
+#endif
+
        if (id==-1) { /* explicit resource number */
                PHPMY_UNBUFFERED_QUERY_CHECK();
                zend_list_delete(Z_RESVAL_PP(mysql_link));