mirror of
https://github.com/libretro/RetroArch
synced 2025-04-02 07:20:34 +00:00
(libxml) LIBXML_THREADS_ENABLED removed
This commit is contained in:
parent
a70a5b541c
commit
7a0e128a97
@ -28,11 +28,7 @@
|
|||||||
/*
|
/*
|
||||||
* Helpful Macro
|
* Helpful Macro
|
||||||
*/
|
*/
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define IS_MAIN_THREAD (xmlIsMainThread())
|
|
||||||
#else
|
|
||||||
#define IS_MAIN_THREAD 1
|
#define IS_MAIN_THREAD 1
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mutex to protect "ForNewThreads" variables
|
* Mutex to protect "ForNewThreads" variables
|
||||||
@ -574,58 +570,6 @@ __xmlLastError(void) {
|
|||||||
return (&xmlGetGlobalState()->xmlLastError);
|
return (&xmlGetGlobalState()->xmlLastError);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* The following memory routines were apparently lost at some point,
|
|
||||||
* and were re-inserted at this point on June 10, 2004. Hope it's
|
|
||||||
* the right place for them :-)
|
|
||||||
*/
|
|
||||||
#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED)
|
|
||||||
#undef xmlMalloc
|
|
||||||
xmlMallocFunc *
|
|
||||||
__xmlMalloc(void){
|
|
||||||
if (IS_MAIN_THREAD)
|
|
||||||
return (&xmlMalloc);
|
|
||||||
else
|
|
||||||
return (&xmlGetGlobalState()->xmlMalloc);
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef xmlMallocAtomic
|
|
||||||
xmlMallocFunc *
|
|
||||||
__xmlMallocAtomic(void){
|
|
||||||
if (IS_MAIN_THREAD)
|
|
||||||
return (&xmlMallocAtomic);
|
|
||||||
else
|
|
||||||
return (&xmlGetGlobalState()->xmlMallocAtomic);
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef xmlRealloc
|
|
||||||
xmlReallocFunc *
|
|
||||||
__xmlRealloc(void){
|
|
||||||
if (IS_MAIN_THREAD)
|
|
||||||
return (&xmlRealloc);
|
|
||||||
else
|
|
||||||
return (&xmlGetGlobalState()->xmlRealloc);
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef xmlFree
|
|
||||||
xmlFreeFunc *
|
|
||||||
__xmlFree(void){
|
|
||||||
if (IS_MAIN_THREAD)
|
|
||||||
return (&xmlFree);
|
|
||||||
else
|
|
||||||
return (&xmlGetGlobalState()->xmlFree);
|
|
||||||
}
|
|
||||||
|
|
||||||
xmlStrdupFunc *
|
|
||||||
__xmlMemStrdup(void){
|
|
||||||
if (IS_MAIN_THREAD)
|
|
||||||
return (&xmlMemStrdup);
|
|
||||||
else
|
|
||||||
return (&xmlGetGlobalState()->xmlMemStrdup);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Everything starting from the line below is
|
* Everything starting from the line below is
|
||||||
* Automatically generated by build_glob.py.
|
* Automatically generated by build_glob.py.
|
||||||
|
@ -187,73 +187,14 @@ XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
|
|||||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
|
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
|
||||||
xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
|
xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
|
||||||
|
|
||||||
/** DOC_DISABLE */
|
|
||||||
/*
|
|
||||||
* In general the memory allocation entry points are not kept
|
|
||||||
* thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
|
|
||||||
* - xmlMalloc
|
|
||||||
* - xmlMallocAtomic
|
|
||||||
* - xmlRealloc
|
|
||||||
* - xmlMemStrdup
|
|
||||||
* - xmlFree
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ALLOC_ENABLED
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void);
|
|
||||||
#define xmlMalloc \
|
|
||||||
(*(__xmlMalloc()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlMallocFunc xmlMalloc;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
|
|
||||||
#define xmlMallocAtomic \
|
|
||||||
(*(__xmlMallocAtomic()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void);
|
|
||||||
#define xmlRealloc \
|
|
||||||
(*(__xmlRealloc()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlReallocFunc xmlRealloc;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void);
|
|
||||||
#define xmlFree \
|
|
||||||
(*(__xmlFree()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlFreeFunc xmlFree;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
|
|
||||||
#define xmlMemStrdup \
|
|
||||||
(*(__xmlMemStrdup()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else /* !LIBXML_THREAD_ALLOC_ENABLED */
|
|
||||||
XMLPUBVAR xmlMallocFunc xmlMalloc;
|
XMLPUBVAR xmlMallocFunc xmlMalloc;
|
||||||
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
|
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
|
||||||
XMLPUBVAR xmlReallocFunc xmlRealloc;
|
XMLPUBVAR xmlReallocFunc xmlRealloc;
|
||||||
XMLPUBVAR xmlFreeFunc xmlFree;
|
XMLPUBVAR xmlFreeFunc xmlFree;
|
||||||
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
|
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
|
||||||
#endif /* LIBXML_THREAD_ALLOC_ENABLED */
|
|
||||||
|
|
||||||
XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
|
XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlLastError \
|
|
||||||
(*(__xmlLastError()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlError xmlLastError;
|
XMLPUBVAR xmlError xmlLastError;
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Everything starting from the line below is
|
* Everything starting from the line below is
|
||||||
@ -263,217 +204,92 @@ XMLPUBVAR xmlError xmlLastError;
|
|||||||
|
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
|
XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define oldXMLWDcompatibility \
|
|
||||||
(*(__oldXMLWDcompatibility()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int oldXMLWDcompatibility;
|
XMLPUBVAR int oldXMLWDcompatibility;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
|
XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlBufferAllocScheme \
|
|
||||||
(*(__xmlBufferAllocScheme()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
|
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
|
||||||
#endif
|
|
||||||
XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
|
XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
|
XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlDefaultBufferSize \
|
|
||||||
(*(__xmlDefaultBufferSize()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlDefaultBufferSize;
|
XMLPUBVAR int xmlDefaultBufferSize;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);
|
||||||
|
|
||||||
XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
|
XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlDefaultSAXHandler \
|
|
||||||
(*(__xmlDefaultSAXHandler()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
|
XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
|
XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlDefaultSAXLocator \
|
|
||||||
(*(__xmlDefaultSAXLocator()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
|
XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlDoValidityCheckingDefaultValue \
|
|
||||||
(*(__xmlDoValidityCheckingDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
|
XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
|
XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlGenericError \
|
|
||||||
(*(__xmlGenericError()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
|
XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
|
XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlStructuredError \
|
|
||||||
(*(__xmlStructuredError()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
|
XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
|
XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlGenericErrorContext \
|
|
||||||
(*(__xmlGenericErrorContext()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR void * xmlGenericErrorContext;
|
XMLPUBVAR void * xmlGenericErrorContext;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
|
XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlStructuredErrorContext \
|
|
||||||
(*(__xmlStructuredErrorContext()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR void * xmlStructuredErrorContext;
|
XMLPUBVAR void * xmlStructuredErrorContext;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlGetWarningsDefaultValue \
|
|
||||||
(*(__xmlGetWarningsDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlGetWarningsDefaultValue;
|
XMLPUBVAR int xmlGetWarningsDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
|
XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlIndentTreeOutput \
|
|
||||||
(*(__xmlIndentTreeOutput()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlIndentTreeOutput;
|
XMLPUBVAR int xmlIndentTreeOutput;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);
|
||||||
|
|
||||||
XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
|
XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlTreeIndentString \
|
|
||||||
(*(__xmlTreeIndentString()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR const char * xmlTreeIndentString;
|
XMLPUBVAR const char * xmlTreeIndentString;
|
||||||
#endif
|
|
||||||
XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
|
XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlKeepBlanksDefaultValue \
|
|
||||||
(*(__xmlKeepBlanksDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlKeepBlanksDefaultValue;
|
XMLPUBVAR int xmlKeepBlanksDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlLineNumbersDefaultValue \
|
|
||||||
(*(__xmlLineNumbersDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlLineNumbersDefaultValue;
|
XMLPUBVAR int xmlLineNumbersDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlLoadExtDtdDefaultValue \
|
|
||||||
(*(__xmlLoadExtDtdDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlLoadExtDtdDefaultValue;
|
XMLPUBVAR int xmlLoadExtDtdDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
|
XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlParserDebugEntities \
|
|
||||||
(*(__xmlParserDebugEntities()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlParserDebugEntities;
|
XMLPUBVAR int xmlParserDebugEntities;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);
|
||||||
|
|
||||||
XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
|
XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlParserVersion \
|
|
||||||
(*(__xmlParserVersion()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR const char * xmlParserVersion;
|
XMLPUBVAR const char * xmlParserVersion;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlPedanticParserDefaultValue \
|
|
||||||
(*(__xmlPedanticParserDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlPedanticParserDefaultValue;
|
XMLPUBVAR int xmlPedanticParserDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
|
XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlSaveNoEmptyTags \
|
|
||||||
(*(__xmlSaveNoEmptyTags()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlSaveNoEmptyTags;
|
XMLPUBVAR int xmlSaveNoEmptyTags;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);
|
||||||
|
|
||||||
XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
|
XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlSubstituteEntitiesDefaultValue \
|
|
||||||
(*(__xmlSubstituteEntitiesDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
|
XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
|
||||||
#endif
|
|
||||||
XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
|
XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);
|
||||||
|
|
||||||
XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
|
XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlRegisterNodeDefaultValue \
|
|
||||||
(*(__xmlRegisterNodeDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
|
XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
|
XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlDeregisterNodeDefaultValue \
|
|
||||||
(*(__xmlDeregisterNodeDefaultValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
|
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
|
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlParserInputBufferCreateFilenameValue \
|
|
||||||
(*(__xmlParserInputBufferCreateFilenameValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
|
XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
|
||||||
#endif
|
|
||||||
|
|
||||||
XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
|
XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#define xmlOutputBufferCreateFilenameValue \
|
|
||||||
(*(__xmlOutputBufferCreateFilenameValue()))
|
|
||||||
#else
|
|
||||||
XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
|
XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -85,18 +85,6 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
|
|||||||
#define WITH_TRIO 1
|
#define WITH_TRIO 1
|
||||||
#endif /* VMS */
|
#endif /* VMS */
|
||||||
|
|
||||||
/**
|
|
||||||
* LIBXML_THREAD_ENABLED:
|
|
||||||
*
|
|
||||||
* Whether the thread support is configured in
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
#if defined(_REENTRANT) || defined(__MT__) || \
|
|
||||||
(defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
|
|
||||||
#define LIBXML_THREAD_ENABLED
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LIBXML_TREE_ENABLED:
|
* LIBXML_TREE_ENABLED:
|
||||||
*
|
*
|
||||||
|
@ -761,11 +761,7 @@ xmlHasFeature(xmlFeature feature)
|
|||||||
{
|
{
|
||||||
switch (feature) {
|
switch (feature) {
|
||||||
case XML_WITH_THREAD:
|
case XML_WITH_THREAD:
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
return(1);
|
|
||||||
#else
|
|
||||||
return(0);
|
return(0);
|
||||||
#endif
|
|
||||||
case XML_WITH_TREE:
|
case XML_WITH_TREE:
|
||||||
#ifdef LIBXML_TREE_ENABLED
|
#ifdef LIBXML_TREE_ENABLED
|
||||||
return(1);
|
return(1);
|
||||||
@ -12818,10 +12814,6 @@ xmlInitParser(void) {
|
|||||||
if (xmlParserInitialized != 0)
|
if (xmlParserInitialized != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
__xmlGlobalInitMutexLock();
|
|
||||||
if (xmlParserInitialized == 0) {
|
|
||||||
#endif
|
|
||||||
xmlInitThreads();
|
xmlInitThreads();
|
||||||
xmlInitGlobals();
|
xmlInitGlobals();
|
||||||
if ((xmlGenericError == xmlGenericErrorDefaultFunc) ||
|
if ((xmlGenericError == xmlGenericErrorDefaultFunc) ||
|
||||||
@ -12835,10 +12827,6 @@ xmlInitParser(void) {
|
|||||||
xmlRegisterDefaultOutputCallbacks();
|
xmlRegisterDefaultOutputCallbacks();
|
||||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||||
xmlParserInitialized = 1;
|
xmlParserInitialized = 1;
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
}
|
|
||||||
__xmlGlobalInitMutexUnlock();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,8 +42,6 @@
|
|||||||
#include <note.h>
|
#include <note.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* #define DEBUG_THREADS */
|
|
||||||
|
|
||||||
#ifdef HAVE_PTHREAD_H
|
#ifdef HAVE_PTHREAD_H
|
||||||
|
|
||||||
static int libxml_is_threaded = -1;
|
static int libxml_is_threaded = -1;
|
||||||
@ -172,9 +170,6 @@ static vint32 global_init_count = 0;
|
|||||||
|
|
||||||
static xmlRMutexPtr xmlLibraryLock = NULL;
|
static xmlRMutexPtr xmlLibraryLock = NULL;
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
static void xmlOnceInit(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* xmlNewMutex:
|
* xmlNewMutex:
|
||||||
@ -248,11 +243,6 @@ xmlMutexLock(xmlMutexPtr tok)
|
|||||||
WaitForSingleObject(tok->mutex, INFINITE);
|
WaitForSingleObject(tok->mutex, INFINITE);
|
||||||
#elif defined HAVE_BEOS_THREADS
|
#elif defined HAVE_BEOS_THREADS
|
||||||
if (acquire_sem(tok->sem) != B_NO_ERROR) {
|
if (acquire_sem(tok->sem) != B_NO_ERROR) {
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext,
|
|
||||||
"xmlMutexLock():BeOS:Couldn't aquire semaphore\n");
|
|
||||||
exit();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
tok->tid = find_thread(NULL);
|
tok->tid = find_thread(NULL);
|
||||||
#endif
|
#endif
|
||||||
@ -496,11 +486,6 @@ __xmlGlobalInitMutexLock(void)
|
|||||||
|
|
||||||
/* Acquire the chosen semaphore */
|
/* Acquire the chosen semaphore */
|
||||||
if (acquire_sem(global_init_lock) != B_NO_ERROR) {
|
if (acquire_sem(global_init_lock) != B_NO_ERROR) {
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext,
|
|
||||||
"xmlGlobalInitMutexLock():BeOS:Couldn't acquire semaphore\n");
|
|
||||||
exit();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -545,55 +530,6 @@ __xmlGlobalInitMutexDestroy(void)
|
|||||||
* *
|
* *
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
#ifdef xmlLastError
|
|
||||||
#undef xmlLastError
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlFreeGlobalState:
|
|
||||||
* @state: a thread global state
|
|
||||||
*
|
|
||||||
* xmlFreeGlobalState() is called when a thread terminates with a non-NULL
|
|
||||||
* global state. It is is used here to reclaim memory resources.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
xmlFreeGlobalState(void *state)
|
|
||||||
{
|
|
||||||
xmlGlobalState *gs = (xmlGlobalState *) state;
|
|
||||||
|
|
||||||
/* free any memory allocated in the thread's xmlLastError */
|
|
||||||
xmlResetError(&(gs->xmlLastError));
|
|
||||||
free(state);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlNewGlobalState:
|
|
||||||
*
|
|
||||||
* xmlNewGlobalState() allocates a global state. This structure is used to
|
|
||||||
* hold all data for use by a thread when supporting backwards compatibility
|
|
||||||
* of libxml2 to pre-thread-safe behaviour.
|
|
||||||
*
|
|
||||||
* Returns the newly allocated xmlGlobalStatePtr or NULL in case of error
|
|
||||||
*/
|
|
||||||
static xmlGlobalStatePtr
|
|
||||||
xmlNewGlobalState(void)
|
|
||||||
{
|
|
||||||
xmlGlobalState *gs;
|
|
||||||
|
|
||||||
gs = malloc(sizeof(xmlGlobalState));
|
|
||||||
if (gs == NULL) {
|
|
||||||
xmlGenericError(xmlGenericErrorContext,
|
|
||||||
"xmlGetGlobalState: out of memory\n");
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(gs, 0, sizeof(xmlGlobalState));
|
|
||||||
xmlInitializeGlobalState(gs);
|
|
||||||
return (gs);
|
|
||||||
}
|
|
||||||
#endif /* LIBXML_THREAD_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAVE_PTHREAD_H
|
#ifdef HAVE_PTHREAD_H
|
||||||
#elif defined HAVE_WIN32_THREADS
|
#elif defined HAVE_WIN32_THREADS
|
||||||
#if !defined(HAVE_COMPILER_TLS)
|
#if !defined(HAVE_COMPILER_TLS)
|
||||||
@ -808,9 +744,6 @@ xmlIsMainThread(void)
|
|||||||
xmlOnceInit();
|
xmlOnceInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext, "xmlIsMainThread()\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_PTHREAD_H
|
#ifdef HAVE_PTHREAD_H
|
||||||
return (pthread_equal(mainthread,pthread_self()));
|
return (pthread_equal(mainthread,pthread_self()));
|
||||||
#elif defined HAVE_WIN32_THREADS
|
#elif defined HAVE_WIN32_THREADS
|
||||||
@ -831,9 +764,6 @@ xmlIsMainThread(void)
|
|||||||
void
|
void
|
||||||
xmlLockLibrary(void)
|
xmlLockLibrary(void)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext, "xmlLockLibrary()\n");
|
|
||||||
#endif
|
|
||||||
xmlRMutexLock(xmlLibraryLock);
|
xmlRMutexLock(xmlLibraryLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -846,9 +776,6 @@ xmlLockLibrary(void)
|
|||||||
void
|
void
|
||||||
xmlUnlockLibrary(void)
|
xmlUnlockLibrary(void)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext, "xmlUnlockLibrary()\n");
|
|
||||||
#endif
|
|
||||||
xmlRMutexUnlock(xmlLibraryLock);
|
xmlRMutexUnlock(xmlLibraryLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -909,9 +836,6 @@ xmlInitThreads(void)
|
|||||||
void
|
void
|
||||||
xmlCleanupThreads(void)
|
xmlCleanupThreads(void)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_THREADS
|
|
||||||
xmlGenericError(xmlGenericErrorContext, "xmlCleanupThreads()\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_PTHREAD_H
|
#ifdef HAVE_PTHREAD_H
|
||||||
if ((libxml_is_threaded) && (pthread_key_delete != NULL))
|
if ((libxml_is_threaded) && (pthread_key_delete != NULL))
|
||||||
pthread_key_delete(globalkey);
|
pthread_key_delete(globalkey);
|
||||||
@ -937,49 +861,6 @@ xmlCleanupThreads(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LIBXML_THREAD_ENABLED
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlOnceInit
|
|
||||||
*
|
|
||||||
* xmlOnceInit() is used to initialize the value of mainthread for use
|
|
||||||
* in other routines. This function should only be called using
|
|
||||||
* pthread_once() in association with the once_control variable to ensure
|
|
||||||
* that the function is only called once. See man pthread_once for more
|
|
||||||
* details.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
xmlOnceInit(void)
|
|
||||||
{
|
|
||||||
#ifdef HAVE_PTHREAD_H
|
|
||||||
(void) pthread_key_create(&globalkey, xmlFreeGlobalState);
|
|
||||||
mainthread = pthread_self();
|
|
||||||
#elif defined(HAVE_WIN32_THREADS)
|
|
||||||
if (!run_once.done) {
|
|
||||||
if (InterlockedIncrement(&run_once.control) == 1) {
|
|
||||||
#if !defined(HAVE_COMPILER_TLS)
|
|
||||||
globalkey = TlsAlloc();
|
|
||||||
#endif
|
|
||||||
mainthread = GetCurrentThreadId();
|
|
||||||
run_once.done = 1;
|
|
||||||
} else {
|
|
||||||
/* Another thread is working; give up our slice and
|
|
||||||
* wait until they're done. */
|
|
||||||
while (!run_once.done)
|
|
||||||
Sleep(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#elif defined HAVE_BEOS_THREADS
|
|
||||||
if (atomic_add(&run_once_init, 1) == 0) {
|
|
||||||
globalkey = tls_allocate();
|
|
||||||
tls_set(globalkey, NULL);
|
|
||||||
mainthread = find_thread(NULL);
|
|
||||||
} else
|
|
||||||
atomic_add(&run_once_init, -1);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DllMain:
|
* DllMain:
|
||||||
* @hinstDLL: handle to DLL instance
|
* @hinstDLL: handle to DLL instance
|
||||||
|
@ -62,7 +62,6 @@ void xmlMallocBreakpoint(void);
|
|||||||
* *
|
* *
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
#if !defined(LIBXML_THREAD_ENABLED) && !defined(LIBXML_THREAD_ALLOC_ENABLED)
|
|
||||||
#ifdef xmlMalloc
|
#ifdef xmlMalloc
|
||||||
#undef xmlMalloc
|
#undef xmlMalloc
|
||||||
#endif
|
#endif
|
||||||
@ -72,7 +71,6 @@ void xmlMallocBreakpoint(void);
|
|||||||
#ifdef xmlMemStrdup
|
#ifdef xmlMemStrdup
|
||||||
#undef xmlMemStrdup
|
#undef xmlMemStrdup
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Each of the blocks allocated begin with a header containing informations
|
* Each of the blocks allocated begin with a header containing informations
|
||||||
|
Loading…
x
Reference in New Issue
Block a user