Blame doc/html/libxml-threads.html

Packit Service a31ea6
Packit Service a31ea6
Packit Service a31ea6
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
Packit Service a31ea6
TD {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
Packit Service a31ea6
H1 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
H2 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
H3 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
A:link, A:visited, A:active { text-decoration: underline }
Packit Service a31ea6
</style><style type="text/css">
Packit Service a31ea6
      div.deprecated pre.programlisting {border-style: double;border-color:red}
Packit Service a31ea6
      pre.programlisting {border-style: double;background: #EECFA1}
Packit Service a31ea6
    </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module threads from libxml2

<center>API Menu</center>
<form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form>
<center>API Indexes</center>
<center>Related links</center>

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

Table of Contents

Structure xmlMutex
struct _xmlMutex
Packit Service a31ea6
The content of this structure is not made public by the API.
Packit Service a31ea6
Typedef xmlMutex * xmlMutexPtr
Packit Service a31ea6
Structure xmlRMutex
struct _xmlRMutex
Packit Service a31ea6
The content of this structure is not made public by the API.
Packit Service a31ea6
Typedef xmlRMutex * xmlRMutexPtr
Packit Service a31ea6
void	xmlCleanupThreads		(void)
Packit Service a31ea6
int	xmlDllMain			(void * hinstDLL, 
unsigned long fdwReason,
void * lpvReserved)
Packit Service a31ea6
void	xmlFreeMutex			(xmlMutexPtr tok)
Packit Service a31ea6
void	xmlFreeRMutex			(xmlRMutexPtr tok)
Packit Service a31ea6
xmlGlobalStatePtr	xmlGetGlobalState	(void)
Packit Service a31ea6
int	xmlGetThreadId			(void)
Packit Service a31ea6
void	xmlInitThreads			(void)
Packit Service a31ea6
int	xmlIsMainThread			(void)
Packit Service a31ea6
void	xmlLockLibrary			(void)
Packit Service a31ea6
void	xmlMutexLock			(xmlMutexPtr tok)
Packit Service a31ea6
void	xmlMutexUnlock			(xmlMutexPtr tok)
Packit Service a31ea6
xmlMutexPtr	xmlNewMutex		(void)
Packit Service a31ea6
xmlRMutexPtr	xmlNewRMutex		(void)
Packit Service a31ea6
void	xmlRMutexLock			(xmlRMutexPtr tok)
Packit Service a31ea6
void	xmlRMutexUnlock			(xmlRMutexPtr tok)
Packit Service a31ea6
void	xmlUnlockLibrary		(void)
Packit Service a31ea6

Description

Packit Service a31ea6

Structure xmlMutex

Structure xmlMutex
struct _xmlMutex {
Packit Service a31ea6
The content of this structure is not made public by the API.
Packit Service a31ea6
}

Structure xmlRMutex

Structure xmlRMutex
struct _xmlRMutex {
Packit Service a31ea6
The content of this structure is not made public by the API.
Packit Service a31ea6
}

Function: xmlCleanupThreads

void	xmlCleanupThreads		(void)
Packit Service a31ea6

xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !

Packit Service a31ea6

Function: xmlDllMain

int	xmlDllMain			(void * hinstDLL, 
unsigned long fdwReason,
void * lpvReserved)
Packit Service a31ea6

Packit Service a31ea6
<tt>hinstDLL</tt>:
<tt>fdwReason</tt>:
<tt>lpvReserved</tt>:
<tt>Returns</tt>:

Function: xmlFreeMutex

void	xmlFreeMutex			(xmlMutexPtr tok)
Packit Service a31ea6

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

Packit Service a31ea6
<tt>tok</tt>:the simple mutex

Function: xmlFreeRMutex

void	xmlFreeRMutex			(xmlRMutexPtr tok)
Packit Service a31ea6

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

Packit Service a31ea6
<tt>tok</tt>:the reentrant mutex

Function: xmlGetGlobalState

xmlGlobalStatePtr	xmlGetGlobalState	(void)
Packit Service a31ea6

xmlGetGlobalState() is called to retrieve the global state for a thread.

Packit Service a31ea6
<tt>Returns</tt>:the thread global state or NULL in case of error

Function: xmlGetThreadId

int	xmlGetThreadId			(void)
Packit Service a31ea6

xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type

Packit Service a31ea6
<tt>Returns</tt>:the current thread ID number

Function: xmlInitThreads

void	xmlInitThreads			(void)
Packit Service a31ea6

xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.

Packit Service a31ea6

Function: xmlIsMainThread

int	xmlIsMainThread			(void)
Packit Service a31ea6

xmlIsMainThread() check whether the current thread is the main thread.

Packit Service a31ea6
<tt>Returns</tt>:1 if the current thread is the main thread, 0 otherwise

Function: xmlLockLibrary

void	xmlLockLibrary			(void)
Packit Service a31ea6

xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.

Packit Service a31ea6

Function: xmlMutexLock

void	xmlMutexLock			(xmlMutexPtr tok)
Packit Service a31ea6

xmlMutexLock() is used to lock a libxml2 token.

Packit Service a31ea6
<tt>tok</tt>:the simple mutex

Function: xmlMutexUnlock

void	xmlMutexUnlock			(xmlMutexPtr tok)
Packit Service a31ea6

xmlMutexUnlock() is used to unlock a libxml2 token.

Packit Service a31ea6
<tt>tok</tt>:the simple mutex

Function: xmlNewMutex

xmlMutexPtr	xmlNewMutex		(void)
Packit Service a31ea6

xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.

Packit Service a31ea6
<tt>Returns</tt>:a new simple mutex pointer or NULL in case of error

Function: xmlNewRMutex

xmlRMutexPtr	xmlNewRMutex		(void)
Packit Service a31ea6

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.

Packit Service a31ea6
<tt>Returns</tt>:the new reentrant mutex pointer or NULL in case of error

Function: xmlRMutexLock

void	xmlRMutexLock			(xmlRMutexPtr tok)
Packit Service a31ea6

xmlRMutexLock() is used to lock a libxml2 token_r.

Packit Service a31ea6
<tt>tok</tt>:the reentrant mutex

Function: xmlRMutexUnlock

void	xmlRMutexUnlock			(xmlRMutexPtr tok)
Packit Service a31ea6

xmlRMutexUnlock() is used to unlock a libxml2 token_r.

Packit Service a31ea6
<tt>tok</tt>:the reentrant mutex

Function: xmlUnlockLibrary

void	xmlUnlockLibrary		(void)
Packit Service a31ea6

xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.

Packit Service a31ea6

Daniel Veillard

</body></html>