diff options
author | Andrey Hristov <andrey@php.net> | 2007-11-09 10:56:28 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2007-11-09 10:56:28 +0000 |
commit | 6f63004f1a1e7b8779ba8737ed74f0d3596236a0 (patch) | |
tree | 595413ca1dd8a22eb8f3363df3688177bba9ea30 /ext/mysqli/mysqli_api.c | |
parent | e6dff0caa47efee905207d4a2b2df9f24ae717d9 (diff) | |
download | php-git-6f63004f1a1e7b8779ba8737ed74f0d3596236a0.tar.gz |
Fix crash with pconnect
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r-- | ext/mysqli/mysqli_api.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index b4948acdbb..d857706a4e 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -563,13 +563,8 @@ PHP_FUNCTION(mysqli_close) if (zend_hash_find(&EG(persistent_list), mysql->hash_key, strlen(mysql->hash_key) + 1, (void **)&le) == SUCCESS) { if (Z_TYPE_P(le) == php_le_pmysqli()) { mysqli_plist_entry *plist = (mysqli_plist_entry *) le->ptr; - dtor_func_t pDestructor = plist->used_links.pDestructor; + zend_ptr_stack_push(&plist->free_links, mysql->mysql); - plist->used_links.pDestructor = NULL; /* Don't call pDestructor now */ - zend_hash_index_del(&plist->used_links, mysql->hash_index); - plist->used_links.pDestructor = pDestructor; /* Restore the destructor */ - - zend_hash_next_index_insert(&plist->free_links, &mysql->mysql, sizeof(MYSQL *), NULL); MyG(num_links)--; MyG(num_active_persistent)--; MyG(num_inactive_persistent)++; |