![]() |
![]() |
![]() |
![]() |
libxml2 Reference Manual |
---|
threads - interfaces for thread handling
set of generic threading related routines should work with pthreads, Windows native or TLS threads
Author(s): Daniel Veillard
typedef struct _xmlMutex xmlMutex; typedef struct _xmlRMutex xmlRMutex; typedef xmlRMutex * xmlRMutexPtr; typedef xmlMutex * xmlMutexPtr; void xmlFreeRMutex (xmlRMutexPtr tok); int xmlGetThreadId (void); void xmlMutexUnlock (xmlMutexPtr tok); void xmlCleanupThreads (void); void xmlLockLibrary (void); xmlRMutexPtr xmlNewRMutex (void); void xmlMutexLock (xmlMutexPtr tok); int xmlIsMainThread (void); void xmlRMutexUnlock (xmlRMutexPtr tok); xmlGlobalStatePtr xmlGetGlobalState (void); xmlMutexPtr xmlNewMutex (void); int xmlDllMain (void * hinstDLL,
unsigned long fdwReason,
void * lpvReserved); void xmlFreeMutex (xmlMutexPtr tok); void xmlUnlockLibrary (void); void xmlInitThreads (void); void xmlRMutexLock (xmlRMutexPtr tok);
struct _xmlMutex { The content of this structure is not made public by the API. } xmlMutex;
struct _xmlRMutex { The content of this structure is not made public by the API. } xmlRMutex;
int xmlDllMain (void * hinstDLL,
unsigned long fdwReason,
void * lpvReserved)
hinstDLL: | |
fdwReason: | |
lpvReserved: | |
Returns: |
void xmlFreeMutex (xmlMutexPtr tok)
xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.
tok: | the simple mutex |
void xmlFreeRMutex (xmlRMutexPtr tok)
xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.
tok: | the reentrant mutex |
xmlGlobalStatePtr xmlGetGlobalState (void)
xmlGetGlobalState() is called to retrieve the global state for a thread.
Returns: | the thread global state or NULL in case of error |
void xmlInitThreads (void)
xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.
int xmlIsMainThread (void)
xmlIsMainThread() check whether the current thread is the main thread.
Returns: | 1 if the current thread is the main thread, 0 otherwise |
void xmlLockLibrary (void)
xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.
void xmlMutexLock (xmlMutexPtr tok)
xmlMutexLock() is used to lock a libxml2 token.
tok: | the simple mutex |
void xmlMutexUnlock (xmlMutexPtr tok)
xmlMutexUnlock() is used to unlock a libxml2 token.
tok: | the simple mutex |
xmlMutexPtr xmlNewMutex (void)
xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.
Returns: | a new simple mutex pointer or NULL in case of error |
xmlRMutexPtr xmlNewRMutex (void)
xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.
Returns: | the new reentrant mutex pointer or NULL in case of error |
void xmlRMutexLock (xmlRMutexPtr tok)
xmlRMutexLock() is used to lock a libxml2 token_r.
tok: | the reentrant mutex |
void xmlRMutexUnlock (xmlRMutexPtr tok)
xmlRMutexUnlock() is used to unlock a libxml2 token_r.
tok: | the reentrant mutex |
void xmlUnlockLibrary (void)
xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.