cvs: /php4/ext/sybase_ct php_sybase_ct.c /php4/ext/sybase sybase.c

From: Date: Sat, 15 Jan 2000 13:39:16 +0000
Subject: cvs: /php4/ext/sybase_ct php_sybase_ct.c /php4/ext/sybase sybase.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-9145@lists.php.net to get a copy of this message
thies Sat Jan 15 05:39:16 2000 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c /php4/ext/sybase sybase.c Log: just add a remark. zend_hash_apply can & will cause problems here unless Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.13 php4/ext/sybase_ct/php_sybase_ct.c:1.14 --- php4/ext/sybase_ct/php_sybase_ct.c:1.13 Fri Dec 31 17:31:54 1999 +++ php4/ext/sybase_ct/php_sybase_ct.c Sat Jan 15 05:39:15 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_sybase_ct.c,v 1.13 2000/01/01 01:31:54 sas Exp $ */ +/* $Id: php_sybase_ct.c,v 1.14 2000/01/15 13:39:15 thies Exp $ */ #include "php.h" @@ -127,6 +127,12 @@ CS_INT con_status; sybase_ptr->valid = 0; + + /* + this can cause crashes in the current model. + if the resource gets destroyed via destroy_resource_list() resource_list + will *not* be in a consistent state. thies@digicol.de + */ zend_hash_apply(resource_list,(int (*)(void *))_clean_invalid_results); /* Non-persistent connections will always be connected or we wouldn't Index: php4/ext/sybase/sybase.c diff -u php4/ext/sybase/sybase.c:1.20 php4/ext/sybase/sybase.c:1.21 --- php4/ext/sybase/sybase.c:1.20 Fri Dec 31 17:31:53 1999 +++ php4/ext/sybase/sybase.c Sat Jan 15 05:39:15 2000 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sybase.c,v 1.20 2000/01/01 01:31:53 sas Exp $ */ +/* $Id: sybase.c,v 1.21 2000/01/15 13:39:15 thies Exp $ */ #include "php.h" @@ -160,6 +160,13 @@ static void _close_sybase_link(sybase_link *sybase_ptr) { sybase_ptr->valid = 0; + + /* + this can cause crashes in the current model. + if the resource gets destroyed via destroy_resource_list() resource_list + will *not* be in a consistent state. thies@digicol.de + */ + zend_hash_apply(resource_list,(int (*)(void *))_clean_invalid_results); dbclose(sybase_ptr->link); dbloginfree(sybase_ptr->login);

« previous php.version4 (#9145) next »