sterling Thu Jun 5 13:48:26 2003 EDT
Modified files:
/php4/ext/dom php_dom.c
Log:
fig segv on make install (double destroy badness)
Index: php4/ext/dom/php_dom.c
diff -u php4/ext/dom/php_dom.c:1.1 php4/ext/dom/php_dom.c:1.2
--- php4/ext/dom/php_dom.c:1.1 Thu Jun 5 13:06:52 2003
+++ php4/ext/dom/php_dom.c Thu Jun 5 13:48:25 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_dom.c,v 1.1 2003/06/05 17:06:52 rrichards Exp $ */
+/* $Id: php_dom.c,v 1.2 2003/06/05 17:48:25 sterling Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -37,6 +37,8 @@
#define PHP_XPATH 1
#define PHP_XPTR 2
+extern int xml_parser_inited;
+
zend_object_handlers dom_object_handlers;
static HashTable classes;
@@ -542,8 +544,10 @@
REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENUMERATION",
XML_ATTRIBUTE_ENUMERATION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NOTATION",
XML_ATTRIBUTE_NOTATION, CONST_CS | CONST_PERSISTENT);
-
- xmlInitParser();
+ if (!xml_parser_inited) {
+ xmlInitThreads();
+ xml_parser_inited = 1;
+ }
return SUCCESS;
}
@@ -571,7 +575,10 @@
PHP_MSHUTDOWN_FUNCTION(dom)
{
- xmlCleanupParser();
+ if (xml_parser_inited) {
+ xmlCleanupParser();
+ xml_parser_inited = 0;
+ }
zend_hash_destroy(&dom_domstringlist_prop_handlers);
zend_hash_destroy(&dom_namelist_prop_handlers);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php