threads

threads - interfaces for thread handling

set of generic threading related routines should work with pthreads, Windows native or TLS threads

Author(s): Daniel Veillard

Synopsis

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);

Description

Details

Structure xmlMutex

struct _xmlMutex {
The content of this structure is not made public by the API.
} xmlMutex;


Typedef xmlMutexPtr

xmlMutex * xmlMutexPtr;


Structure xmlRMutex

struct _xmlRMutex {
The content of this structure is not made public by the API.
} xmlRMutex;


Typedef xmlRMutexPtr

xmlRMutex * xmlRMutexPtr;




xmlFreeMutex ()

void	xmlFreeMutex			(xmlMutexPtr tok)

xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.

tok:the simple mutex

xmlFreeRMutex ()

void	xmlFreeRMutex			(xmlRMutexPtr tok)

xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.

tok:the reentrant mutex

xmlGetGlobalState ()

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





xmlMutexLock ()

void	xmlMutexLock			(xmlMutexPtr tok)

xmlMutexLock() is used to lock a libxml2 token.

tok:the simple mutex

xmlMutexUnlock ()

void	xmlMutexUnlock			(xmlMutexPtr tok)

xmlMutexUnlock() is used to unlock a libxml2 token.

tok:the simple mutex

xmlNewMutex ()

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

xmlNewRMutex ()

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

xmlRMutexLock ()

void	xmlRMutexLock			(xmlRMutexPtr tok)

xmlRMutexLock() is used to lock a libxml2 token_r.

tok:the reentrant mutex

xmlRMutexUnlock ()

void	xmlRMutexUnlock			(xmlRMutexPtr tok)

xmlRMutexUnlock() is used to unlock a libxml2 token_r.

tok:the reentrant mutex