summaryrefslogtreecommitdiff
path: root/ext/sybase/sybase.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sybase/sybase.c')
-rw-r--r--ext/sybase/sybase.c7
1 files changed, 7 insertions, 0 deletions
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);