RE: mysql_pconnect still broken (was: RE: What does this mean ?)
| From: | Steven Roussey | Date: | Tue, 16 Jan 2001 21:24:56 +0000 |
| Subject: | RE: mysql_pconnect still broken (was: RE: What does this mean ?) | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-44280@lists.php.net to get a copy of this message | ||
> OK. Look at a quick report. I've just installed php4-200101152345. It runs
> with mysql-3.23.27-beta. Apache 1.3.12, Solaris 2.6 (local host) and 2.4
> (remote connection).
>
> What I can see is: the offending messages didn't vanish at all (both hosts
> are involved):
> So, I think it's not fixed yet. Steven, you wrote about 99,8. I suppose
> every Apache process here makes this error while ending. I just see it.
:)
Andi, I hope you are reading this.
I looked at the CVS, and my patch was not properly applied. Andi has it
looking through the non-persistant destructors, rather than the persistent
ones (meaning that plist_entry_destructor is identical to
list_entry_destructor).
In file zend_list.c replace the plist_entry_destructor definition with:
void plist_entry_destructor(void *ptr)
{
zend_rsrc_list_entry *le = (zend_rsrc_list_entry *) ptr;
zend_rsrc_list_dtors_entry *ld;
if (zend_hash_index_find(&list_destructors, le->type,(void **)
&ld)==SUCCESS) {
switch (ld->type) {
case ZEND_RESOURCE_LIST_TYPE_STD:
if (ld->plist_dtor) {
(ld->plist_dtor)(le->ptr);
}
break;
case ZEND_RESOURCE_LIST_TYPE_EX:
if (ld->plist_dtor_ex) {
ld->plist_dtor_ex(le);
}
break;
EMPTY_SWITCH_DEFAULT_CASE()
}
} else {
zend_error(E_WARNING,"Unknown persistent list entry type in
module shutdown (%d)",le->type);
}
}
Sincerely,
Steven Roussey
Network54.com
http://network54.com/?pp=e