]> granicus.if.org Git - php/commitdiff
fix common libxml init and deinit routines
authorRob Richards <rrichards@php.net>
Sat, 14 Jun 2003 15:08:48 +0000 (15:08 +0000)
committerRob Richards <rrichards@php.net>
Sat, 14 Jun 2003 15:08:48 +0000 (15:08 +0000)
ext/xml/xml.c

index 181a208fd7f17b40123f6bf3421ef5a211141ff0..af0d25dc2dd758359b710719c4e23db2295e1080 100644 (file)
@@ -231,7 +231,10 @@ PHP_MINIT_FUNCTION(xml)
        php_xml_mem_hdlrs.free_fcn = php_xml_free_wrapper;
 
 #ifdef LIBXML_EXPAT_COMPAT
-       xmlInitThreads();
+       if (!xml_parser_inited) {
+               xmlInitThreads();
+               xml_parser_inited = 1;
+       }
 #endif
        return SUCCESS;
 }
@@ -245,18 +248,18 @@ PHP_RINIT_FUNCTION(xml)
 
 PHP_MSHUTDOWN_FUNCTION(xml)
 {
+#ifdef LIBXML_EXPAT_COMPAT
+       if (xml_parser_inited) {
+               xmlCleanupParser();
+               xml_parser_inited = 0;
+       }
+#endif
        return SUCCESS;
 }
 
 
 PHP_RSHUTDOWN_FUNCTION(xml)
 {
-#ifdef LIBXML_EXPAT_COMPAT
-       if (xml_parser_inited) {
-               xmlCleanupParser();
-               xml_parser_inited = 0;
-       }
-#endif 
        return SUCCESS;
 }