summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-07-22 17:40:43 +0000
committerAndrey Hristov <andrey@php.net>2008-07-22 17:40:43 +0000
commit55773e7853ebaa19945cb58a9029265299d2fe72 (patch)
treedbbaea0a2604ae471cd7f93a3bbc30d8a49fcc61
parentf7560881f6922ebf8285b10ceac98b546d7d19bc (diff)
downloadphp-git-55773e7853ebaa19945cb58a9029265299d2fe72.tar.gz
Fix a leak with pconn and mysqlnd
-rw-r--r--ext/mysql/php_mysql.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index f6a492b070..c767d849a9 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -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));