From: Rob Richards Date: Sat, 14 Jun 2003 15:08:48 +0000 (+0000) Subject: fix common libxml init and deinit routines X-Git-Tag: RELEASE_1_0_2~266 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e6502514fb04d49d6333f847e7f114c0bf3b5787;p=php fix common libxml init and deinit routines --- diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 181a208fd7..af0d25dc2d 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -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; }