summaryrefslogtreecommitdiff
path: root/chromium/third_party/libxml/src/globals.c
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/libxml/src/globals.c')
-rw-r--r--chromium/third_party/libxml/src/globals.c127
1 files changed, 64 insertions, 63 deletions
diff --git a/chromium/third_party/libxml/src/globals.c b/chromium/third_party/libxml/src/globals.c
index 7e5c1aa9ef3..c3e10a76084 100644
--- a/chromium/third_party/libxml/src/globals.c
+++ b/chromium/third_party/libxml/src/globals.c
@@ -22,6 +22,7 @@
#include <libxml/threads.h>
#include "private/error.h"
+#include "private/globals.h"
#include "private/threads.h"
#include "private/tree.h"
@@ -39,20 +40,24 @@
/*
* Mutex to protect "ForNewThreads" variables
*/
-static xmlMutexPtr xmlThrDefMutex = NULL;
+static xmlMutex xmlThrDefMutex;
/**
* xmlInitGlobals:
*
- * DEPRECATED: This function will be made private. Call xmlInitParser to
- * initialize the library.
+ * DEPRECATED: Alias for xmlInitParser.
+ */
+void xmlInitGlobals(void) {
+ xmlInitParser();
+}
+
+/**
+ * xmlInitGlobalsInternal:
*
* Additional initialisation for multi-threading
*/
-void xmlInitGlobals(void)
-{
- if (xmlThrDefMutex == NULL)
- xmlThrDefMutex = xmlNewMutex();
+void xmlInitGlobalsInternal(void) {
+ xmlInitMutex(&xmlThrDefMutex);
}
/************************************************************************
@@ -427,7 +432,7 @@ xmlSAXHandlerV1 xmlDefaultSAXHandler = {
xmlSAX2GetParameterEntity,
xmlSAX2CDataBlock,
xmlSAX2ExternalSubset,
- 0,
+ 1,
};
#endif /* LIBXML_SAX1_ENABLED */
@@ -480,10 +485,10 @@ xmlSAXHandlerV1 htmlDefaultSAXHandler = {
xmlParserWarning,
xmlParserError,
xmlParserError,
- xmlSAX2GetParameterEntity,
+ NULL,
xmlSAX2CDataBlock,
NULL,
- 0,
+ 1,
};
#endif /* LIBXML_HTML_ENABLED */
@@ -502,13 +507,7 @@ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
(void *) gs, xmlGetThreadId());
#endif
- /*
- * Perform initialization as required by libxml
- */
- if (xmlThrDefMutex == NULL)
- xmlInitGlobals();
-
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
@@ -563,47 +562,49 @@ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
memset(&gs->xmlLastError, 0, sizeof(xmlError));
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
}
/**
* xmlCleanupGlobals:
*
- * DEPRECATED: This function will be made private. Call xmlCleanupParser
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
* to free global state but see the warnings there. xmlCleanupParser
* should be only called once at program exit. In most cases, you don't
* have call cleanup functions at all.
+ */
+void xmlCleanupGlobals(void) {
+}
+
+/**
+ * xmlCleanupGlobalsInternal:
*
* Additional cleanup for multi-threading
*/
-void xmlCleanupGlobals(void)
-{
+void xmlCleanupGlobalsInternal(void) {
xmlResetError(&xmlLastError);
- if (xmlThrDefMutex != NULL) {
- xmlFreeMutex(xmlThrDefMutex);
- xmlThrDefMutex = NULL;
- }
+ xmlCleanupMutex(&xmlThrDefMutex);
__xmlGlobalInitMutexDestroy();
}
void
xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
xmlGenericErrorContextThrDef = ctx;
if (handler != NULL)
xmlGenericErrorThrDef = handler;
else
xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
}
void
xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
xmlStructuredErrorContextThrDef = ctx;
xmlStructuredErrorThrDef = handler;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
}
/**
@@ -629,12 +630,12 @@ xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func)
{
xmlRegisterNodeFunc old;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
old = xmlRegisterNodeDefaultValueThrDef;
__xmlRegisterCallbacks = 1;
xmlRegisterNodeDefaultValueThrDef = func;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return(old);
}
@@ -662,12 +663,12 @@ xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func)
{
xmlDeregisterNodeFunc old;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
old = xmlDeregisterNodeDefaultValueThrDef;
__xmlRegisterCallbacks = 1;
xmlDeregisterNodeDefaultValueThrDef = func;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return(old);
}
@@ -677,14 +678,14 @@ xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilena
{
xmlParserInputBufferCreateFilenameFunc old;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
old = xmlParserInputBufferCreateFilenameValueThrDef;
if (old == NULL) {
old = __xmlParserInputBufferCreateFilename;
}
xmlParserInputBufferCreateFilenameValueThrDef = func;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return(old);
}
@@ -694,7 +695,7 @@ xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc fun
{
xmlOutputBufferCreateFilenameFunc old;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
old = xmlOutputBufferCreateFilenameValueThrDef;
#ifdef LIBXML_OUTPUT_ENABLED
if (old == NULL) {
@@ -702,7 +703,7 @@ xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc fun
}
#endif
xmlOutputBufferCreateFilenameValueThrDef = func;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return(old);
}
@@ -805,10 +806,10 @@ __xmlBufferAllocScheme(void) {
}
xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) {
xmlBufferAllocationScheme ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlBufferAllocSchemeThrDef;
xmlBufferAllocSchemeThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -822,10 +823,10 @@ __xmlDefaultBufferSize(void) {
}
int xmlThrDefDefaultBufferSize(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlDefaultBufferSizeThrDef;
xmlDefaultBufferSizeThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -859,10 +860,10 @@ __xmlDoValidityCheckingDefaultValue(void) {
}
int xmlThrDefDoValidityCheckingDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlDoValidityCheckingDefaultValueThrDef;
xmlDoValidityCheckingDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -912,10 +913,10 @@ __xmlGetWarningsDefaultValue(void) {
}
int xmlThrDefGetWarningsDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlGetWarningsDefaultValueThrDef;
xmlGetWarningsDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -929,10 +930,10 @@ __xmlIndentTreeOutput(void) {
}
int xmlThrDefIndentTreeOutput(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlIndentTreeOutputThrDef;
xmlIndentTreeOutputThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -946,10 +947,10 @@ __xmlTreeIndentString(void) {
}
const char * xmlThrDefTreeIndentString(const char * v) {
const char * ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlTreeIndentStringThrDef;
xmlTreeIndentStringThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -963,10 +964,10 @@ __xmlKeepBlanksDefaultValue(void) {
}
int xmlThrDefKeepBlanksDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlKeepBlanksDefaultValueThrDef;
xmlKeepBlanksDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -980,10 +981,10 @@ __xmlLineNumbersDefaultValue(void) {
}
int xmlThrDefLineNumbersDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlLineNumbersDefaultValueThrDef;
xmlLineNumbersDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -997,10 +998,10 @@ __xmlLoadExtDtdDefaultValue(void) {
}
int xmlThrDefLoadExtDtdDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlLoadExtDtdDefaultValueThrDef;
xmlLoadExtDtdDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -1014,10 +1015,10 @@ __xmlParserDebugEntities(void) {
}
int xmlThrDefParserDebugEntities(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlParserDebugEntitiesThrDef;
xmlParserDebugEntitiesThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -1040,10 +1041,10 @@ __xmlPedanticParserDefaultValue(void) {
}
int xmlThrDefPedanticParserDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlPedanticParserDefaultValueThrDef;
xmlPedanticParserDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -1057,10 +1058,10 @@ __xmlSaveNoEmptyTags(void) {
}
int xmlThrDefSaveNoEmptyTags(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlSaveNoEmptyTagsThrDef;
xmlSaveNoEmptyTagsThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}
@@ -1074,10 +1075,10 @@ __xmlSubstituteEntitiesDefaultValue(void) {
}
int xmlThrDefSubstituteEntitiesDefaultValue(int v) {
int ret;
- xmlMutexLock(xmlThrDefMutex);
+ xmlMutexLock(&xmlThrDefMutex);
ret = xmlSubstituteEntitiesDefaultValueThrDef;
xmlSubstituteEntitiesDefaultValueThrDef = v;
- xmlMutexUnlock(xmlThrDefMutex);
+ xmlMutexUnlock(&xmlThrDefMutex);
return ret;
}