From bf4d20aaa892bc5246a6bf84c41a34bf0a7b2e78 Mon Sep 17 00:00:00 2001 From: "Thies C. Arntzen" Date: Sat, 15 Jan 2000 13:39:19 +0000 Subject: [PATCH] just add a remark. zend_hash_apply can & will cause problems here unless --- ext/sybase/sybase.c | 7 +++++++ ext/sybase_ct/php_sybase_ct.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/ext/sybase/sybase.c b/ext/sybase/sybase.c index d28a329e25..bb400d0a3e 100644 --- a/ext/sybase/sybase.c +++ b/ext/sybase/sybase.c @@ -160,6 +160,13 @@ static void _free_sybase_result(sybase_result *result) 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); diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c index c9d0cbaf01..fdba2fb5ae 100644 --- a/ext/sybase_ct/php_sybase_ct.c +++ b/ext/sybase_ct/php_sybase_ct.c @@ -127,6 +127,12 @@ static void _close_sybase_link(sybase_link *sybase_ptr) 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 -- 2.50.1