]> granicus.if.org Git - php/commitdiff
Fix from Michael Sisolak (destructors weren't always properly called)
authorZeev Suraski <zeev@php.net>
Sun, 14 Dec 2003 09:36:23 +0000 (09:36 +0000)
committerZeev Suraski <zeev@php.net>
Sun, 14 Dec 2003 09:36:23 +0000 (09:36 +0000)
TSRM/TSRM.c

index ebb0acbe8f446a460860dc8c9028d555b33f1f76..a47cfacfad1d57a0057637a2d52ae7dc03eda734 100644 (file)
@@ -157,7 +157,12 @@ TSRM_API void tsrm_shutdown(void)
                                int j;
 
                                next_p = p->next;
-                               for (j=0; j<id_count; j++) {
+                               for (j=0; j<p->count; j++) {
+                                       if (resource_types_table[j].dtor) {
+                                               resource_types_table[j].dtor(p->storage[j], &p->storage);
+                                       }
+                               }
+                               for (j=0; j<p->count; j++) {
                                        if (resource_types_table && resource_types_table[j].dtor) {
                                                resource_types_table[j].dtor(p->storage[j], &p->storage);
                                        }