threads

Name

threads -- 

Synopsis



struct      xmlMutex;
typedef     xmlMutexPtr;
struct      xmlRMutex;
typedef     xmlRMutexPtr;
xmlMutexPtr xmlNewMutex                     (void);
void        xmlMutexLock                    (xmlMutexPtr tok);
void        xmlMutexUnlock                  (xmlMutexPtr tok);
void        xmlFreeMutex                    (xmlMutexPtr tok);
xmlRMutexPtr xmlNewRMutex                   (void);
void        xmlRMutexLock                   (xmlRMutexPtr tok);
void        xmlRMutexUnlock                 (xmlRMutexPtr tok);
void        xmlFreeRMutex                   (xmlRMutexPtr tok);
void        xmlInitThreads                  (void);
void        xmlLockLibrary                  (void);
void        xmlUnlockLibrary                (void);
int         xmlGetThreadId                  (void);
int         xmlIsMainThread                 (void);
void        xmlCleanupThreads               (void);
xmlGlobalStatePtr xmlGetGlobalState         (void);

Description

Details

struct xmlMutex

struct xmlMutex;


xmlMutexPtr

typedef xmlMutex *xmlMutexPtr;

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


struct xmlRMutex

struct xmlRMutex;


xmlRMutexPtr

typedef xmlRMutex *xmlRMutexPtr;


xmlNewMutex ()

xmlMutexPtr xmlNewMutex                     (void);

Returns : 


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


xmlFreeMutex ()

void        xmlFreeMutex                    (xmlMutexPtr tok);

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

tok : the simple mutex


xmlNewRMutex ()

xmlRMutexPtr xmlNewRMutex                   (void);

Returns : 


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


xmlFreeRMutex ()

void        xmlFreeRMutex                   (xmlRMutexPtr tok);

tok : 


xmlInitThreads ()

void        xmlInitThreads                  (void);

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


xmlLockLibrary ()

void        xmlLockLibrary                  (void);

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


xmlUnlockLibrary ()

void        xmlUnlockLibrary                (void);

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


xmlGetThreadId ()

int         xmlGetThreadId                  (void);

xmlGetThreadId() find the current thread ID number

Returns :the current thread ID number


xmlIsMainThread ()

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


xmlCleanupThreads ()

void        xmlCleanupThreads               (void);

xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.


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