blob: df4afd4f2227e9c3c7853ceb58b9836972072814 [file] [log] [blame]
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001<HTML
2><HEAD
3><TITLE
4>threads</TITLE
5><META
6NAME="GENERATOR"
7CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8"><LINK
9REL="HOME"
10TITLE="Gnome XML Library Reference Manual"
11HREF="book1.html"><LINK
12REL="UP"
13TITLE="Libxml Library Reference"
14HREF="libxml-lib.html"><LINK
15REL="PREVIOUS"
16TITLE="catalog"
17HREF="libxml-catalog.html"><LINK
18REL="NEXT"
19TITLE="globals"
20HREF="libxml-globals.html"></HEAD
21><BODY
22CLASS="REFENTRY"
23BGCOLOR="#FFFFFF"
24TEXT="#000000"
25LINK="#0000FF"
26VLINK="#840084"
27ALINK="#0000FF"
28><DIV
29CLASS="NAVHEADER"
30><TABLE
31WIDTH="100%"
32BORDER="0"
33BGCOLOR="#000000"
34CELLPADDING="1"
35CELLSPACING="0"
36><TR
37><TH
38COLSPAN="4"
39ALIGN="center"
40><FONT
41COLOR="#FFFFFF"
42SIZE="5"
43>Gnome XML Library Reference Manual</FONT
44></TH
45></TR
46><TR
47><TD
48WIDTH="25%"
49BGCOLOR="#C00000"
50ALIGN="left"
51><A
52HREF="libxml-catalog.html"
53><FONT
54COLOR="#FFFFFF"
55SIZE="3"
56><B
57>&#60;&#60;&#60; Previous Page</B
58></FONT
59></A
60></TD
61><TD
62WIDTH="25%"
63BGCOLOR="#0000C0"
64ALIGN="center"
65><FONT
66COLOR="#FFFFFF"
67SIZE="3"
68><B
69><A
70HREF="book1.html"
71><FONT
72COLOR="#FFFFFF"
73SIZE="3"
74><B
75>Home</B
76></FONT
77></A
78></B
79></FONT
80></TD
81><TD
82WIDTH="25%"
83BGCOLOR="#00C000"
84ALIGN="center"
85><FONT
86COLOR="#FFFFFF"
87SIZE="3"
88><B
89><A
90HREF="libxml-lib.html"
91><FONT
92COLOR="#FFFFFF"
93SIZE="3"
94><B
95>Up</B
96></FONT
97></A
98></B
99></FONT
100></TD
101><TD
102WIDTH="25%"
103BGCOLOR="#C00000"
104ALIGN="right"
105><A
106HREF="libxml-globals.html"
107><FONT
108COLOR="#FFFFFF"
109SIZE="3"
110><B
111>Next Page &#62;&#62;&#62;</B
112></FONT
113></A
114></TD
115></TR
116></TABLE
117></DIV
118><H1
119><A
120NAME="LIBXML-THREADS"
121>threads</A
122></H1
123><DIV
124CLASS="REFNAMEDIV"
125><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000126NAME="AEN19926"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000127></A
128><H2
129>Name</H2
130>threads&nbsp;--&nbsp;</DIV
131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000134NAME="AEN19929"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000135></A
136><H2
137>Synopsis</H2
138><TABLE
139BORDER="0"
140BGCOLOR="#D6E8FF"
141WIDTH="100%"
142CELLPADDING="6"
143><TR
144><TD
145><PRE
146CLASS="SYNOPSIS"
147>&#13;
148
149struct <A
150HREF="libxml-threads.html#XMLMUTEX"
151>xmlMutex</A
152>;
153typedef <A
154HREF="libxml-threads.html#XMLMUTEXPTR"
155>xmlMutexPtr</A
156>;
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000157struct <A
158HREF="libxml-threads.html#XMLRMUTEX"
159>xmlRMutex</A
160>;
161typedef <A
162HREF="libxml-threads.html#XMLRMUTEXPTR"
163>xmlRMutexPtr</A
164>;
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000165<A
166HREF="libxml-threads.html#XMLMUTEXPTR"
167>xmlMutexPtr</A
168> <A
169HREF="libxml-threads.html#XMLNEWMUTEX"
170>xmlNewMutex</A
171> (void);
172void <A
173HREF="libxml-threads.html#XMLMUTEXLOCK"
174>xmlMutexLock</A
175> (<A
176HREF="libxml-threads.html#XMLMUTEXPTR"
177>xmlMutexPtr</A
178> tok);
179void <A
180HREF="libxml-threads.html#XMLMUTEXUNLOCK"
181>xmlMutexUnlock</A
182> (<A
183HREF="libxml-threads.html#XMLMUTEXPTR"
184>xmlMutexPtr</A
185> tok);
186void <A
187HREF="libxml-threads.html#XMLFREEMUTEX"
188>xmlFreeMutex</A
189> (<A
190HREF="libxml-threads.html#XMLMUTEXPTR"
191>xmlMutexPtr</A
192> tok);
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000193<A
194HREF="libxml-threads.html#XMLRMUTEXPTR"
195>xmlRMutexPtr</A
196> <A
197HREF="libxml-threads.html#XMLNEWRMUTEX"
198>xmlNewRMutex</A
199> (void);
200void <A
201HREF="libxml-threads.html#XMLRMUTEXLOCK"
202>xmlRMutexLock</A
203> (<A
204HREF="libxml-threads.html#XMLRMUTEXPTR"
205>xmlRMutexPtr</A
206> tok);
207void <A
208HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
209>xmlRMutexUnlock</A
210> (<A
211HREF="libxml-threads.html#XMLRMUTEXPTR"
212>xmlRMutexPtr</A
213> tok);
214void <A
215HREF="libxml-threads.html#XMLFREERMUTEX"
216>xmlFreeRMutex</A
217> (<A
218HREF="libxml-threads.html#XMLRMUTEXPTR"
219>xmlRMutexPtr</A
220> tok);
221void <A
222HREF="libxml-threads.html#XMLINITTHREADS"
223>xmlInitThreads</A
224> (void);
225void <A
226HREF="libxml-threads.html#XMLLOCKLIBRARY"
227>xmlLockLibrary</A
228> (void);
229void <A
230HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
231>xmlUnlockLibrary</A
232> (void);
233int <A
234HREF="libxml-threads.html#XMLGETTHREADID"
235>xmlGetThreadId</A
236> (void);
237int <A
238HREF="libxml-threads.html#XMLISMAINTHREAD"
239>xmlIsMainThread</A
240> (void);
241void <A
242HREF="libxml-threads.html#XMLCLEANUPTHREADS"
243>xmlCleanupThreads</A
244> (void);
245<A
246HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
247>xmlGlobalStatePtr</A
248> <A
249HREF="libxml-threads.html#XMLGETGLOBALSTATE"
250>xmlGetGlobalState</A
251> (void);</PRE
252></TD
253></TR
254></TABLE
255></DIV
256><DIV
257CLASS="REFSECT1"
258><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000259NAME="AEN19960"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000260></A
261><H2
262>Description</H2
263><P
264></P
265></DIV
266><DIV
267CLASS="REFSECT1"
268><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000269NAME="AEN19963"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000270></A
271><H2
272>Details</H2
273><DIV
274CLASS="REFSECT2"
275><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000276NAME="AEN19965"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000277></A
278><H3
279><A
280NAME="XMLMUTEX"
281></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000282>&#62;struct xmlMutex</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000283><TABLE
284BORDER="0"
285BGCOLOR="#D6E8FF"
286WIDTH="100%"
287CELLPADDING="6"
288><TR
289><TD
290><PRE
291CLASS="PROGRAMLISTING"
292>struct xmlMutex;</PRE
293></TD
294></TR
295></TABLE
296><P
297></P
298></DIV
299><HR><DIV
300CLASS="REFSECT2"
301><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000302NAME="AEN19970"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000303></A
304><H3
305><A
306NAME="XMLMUTEXPTR"
307></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000308>&#62;xmlMutexPtr</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000309><TABLE
310BORDER="0"
311BGCOLOR="#D6E8FF"
312WIDTH="100%"
313CELLPADDING="6"
314><TR
315><TD
316><PRE
317CLASS="PROGRAMLISTING"
318>typedef xmlMutex *xmlMutexPtr;</PRE
319></TD
320></TR
321></TABLE
322><P
323><A
324HREF="libxml-threads.html#XMLNEWMUTEX"
325>xmlNewMutex</A
326>() is used to allocate a libxml2 token struct for use in
327synchronizing access to data.</P
328><P
329></P
330></DIV
331><HR><DIV
332CLASS="REFSECT2"
333><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000334NAME="AEN19977"
335></A
336><H3
337><A
338NAME="XMLRMUTEX"
339></A
340>&#62;struct xmlRMutex</H3
341><TABLE
342BORDER="0"
343BGCOLOR="#D6E8FF"
344WIDTH="100%"
345CELLPADDING="6"
346><TR
347><TD
348><PRE
349CLASS="PROGRAMLISTING"
350>struct xmlRMutex;</PRE
351></TD
352></TR
353></TABLE
354><P
355></P
356></DIV
357><HR><DIV
358CLASS="REFSECT2"
359><A
360NAME="AEN19982"
361></A
362><H3
363><A
364NAME="XMLRMUTEXPTR"
365></A
366>&#62;xmlRMutexPtr</H3
367><TABLE
368BORDER="0"
369BGCOLOR="#D6E8FF"
370WIDTH="100%"
371CELLPADDING="6"
372><TR
373><TD
374><PRE
375CLASS="PROGRAMLISTING"
376>typedef xmlRMutex *xmlRMutexPtr;</PRE
377></TD
378></TR
379></TABLE
380><P
381></P
382></DIV
383><HR><DIV
384CLASS="REFSECT2"
385><A
386NAME="AEN19987"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000387></A
388><H3
389><A
390NAME="XMLNEWMUTEX"
391></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000392>&#62;xmlNewMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000393><TABLE
394BORDER="0"
395BGCOLOR="#D6E8FF"
396WIDTH="100%"
397CELLPADDING="6"
398><TR
399><TD
400><PRE
401CLASS="PROGRAMLISTING"
402><A
403HREF="libxml-threads.html#XMLMUTEXPTR"
404>xmlMutexPtr</A
405> xmlNewMutex (void);</PRE
406></TD
407></TR
408></TABLE
409><P
410></P
411><DIV
412CLASS="INFORMALTABLE"
413><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000414NAME="AEN19993"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000415></A
416><P
417></P
418><TABLE
419BORDER="0"
420WIDTH="100%"
421BGCOLOR="#FFD0D0"
422CELLSPACING="0"
423CELLPADDING="4"
424CLASS="CALSTABLE"
425><TBODY
426><TR
427><TD
428WIDTH="20%"
429ALIGN="RIGHT"
430VALIGN="TOP"
431><I
432CLASS="EMPHASIS"
433>Returns</I
434> :</TD
435><TD
436WIDTH="80%"
437ALIGN="LEFT"
438VALIGN="TOP"
439>&nbsp;</TD
440></TR
441></TBODY
442></TABLE
443><P
444></P
445></DIV
446></DIV
447><HR><DIV
448CLASS="REFSECT2"
449><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000450NAME="AEN20002"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000451></A
452><H3
453><A
454NAME="XMLMUTEXLOCK"
455></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000456>&#62;xmlMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000457><TABLE
458BORDER="0"
459BGCOLOR="#D6E8FF"
460WIDTH="100%"
461CELLPADDING="6"
462><TR
463><TD
464><PRE
465CLASS="PROGRAMLISTING"
466>void xmlMutexLock (<A
467HREF="libxml-threads.html#XMLMUTEXPTR"
468>xmlMutexPtr</A
469> tok);</PRE
470></TD
471></TR
472></TABLE
473><P
474><A
475HREF="libxml-threads.html#XMLMUTEXLOCK"
476>xmlMutexLock</A
477>() is used to lock a libxml2 token.</P
478><P
479></P
480><DIV
481CLASS="INFORMALTABLE"
482><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000483NAME="AEN20010"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000484></A
485><P
486></P
487><TABLE
488BORDER="0"
489WIDTH="100%"
490BGCOLOR="#FFD0D0"
491CELLSPACING="0"
492CELLPADDING="4"
493CLASS="CALSTABLE"
494><TBODY
495><TR
496><TD
497WIDTH="20%"
498ALIGN="RIGHT"
499VALIGN="TOP"
500><TT
501CLASS="PARAMETER"
502><I
503>tok</I
504></TT
505>&nbsp;:</TD
506><TD
507WIDTH="80%"
508ALIGN="LEFT"
509VALIGN="TOP"
510> the simple mutex</TD
511></TR
512></TBODY
513></TABLE
514><P
515></P
516></DIV
517></DIV
518><HR><DIV
519CLASS="REFSECT2"
520><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000521NAME="AEN20019"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000522></A
523><H3
524><A
525NAME="XMLMUTEXUNLOCK"
526></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000527>&#62;xmlMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000528><TABLE
529BORDER="0"
530BGCOLOR="#D6E8FF"
531WIDTH="100%"
532CELLPADDING="6"
533><TR
534><TD
535><PRE
536CLASS="PROGRAMLISTING"
537>void xmlMutexUnlock (<A
538HREF="libxml-threads.html#XMLMUTEXPTR"
539>xmlMutexPtr</A
540> tok);</PRE
541></TD
542></TR
543></TABLE
544><P
545><A
546HREF="libxml-threads.html#XMLMUTEXUNLOCK"
547>xmlMutexUnlock</A
548>() is used to unlock a libxml2 token.</P
549><P
550></P
551><DIV
552CLASS="INFORMALTABLE"
553><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000554NAME="AEN20027"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000555></A
556><P
557></P
558><TABLE
559BORDER="0"
560WIDTH="100%"
561BGCOLOR="#FFD0D0"
562CELLSPACING="0"
563CELLPADDING="4"
564CLASS="CALSTABLE"
565><TBODY
566><TR
567><TD
568WIDTH="20%"
569ALIGN="RIGHT"
570VALIGN="TOP"
571><TT
572CLASS="PARAMETER"
573><I
574>tok</I
575></TT
576>&nbsp;:</TD
577><TD
578WIDTH="80%"
579ALIGN="LEFT"
580VALIGN="TOP"
581> the simple mutex</TD
582></TR
583></TBODY
584></TABLE
585><P
586></P
587></DIV
588></DIV
589><HR><DIV
590CLASS="REFSECT2"
591><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000592NAME="AEN20036"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000593></A
594><H3
595><A
596NAME="XMLFREEMUTEX"
597></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000598>&#62;xmlFreeMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000599><TABLE
600BORDER="0"
601BGCOLOR="#D6E8FF"
602WIDTH="100%"
603CELLPADDING="6"
604><TR
605><TD
606><PRE
607CLASS="PROGRAMLISTING"
608>void xmlFreeMutex (<A
609HREF="libxml-threads.html#XMLMUTEXPTR"
610>xmlMutexPtr</A
611> tok);</PRE
612></TD
613></TR
614></TABLE
615><P
616><A
617HREF="libxml-threads.html#XMLFREEMUTEX"
618>xmlFreeMutex</A
619>() is used to reclaim resources associated with a libxml2 token
620struct.</P
621><P
622></P
623><DIV
624CLASS="INFORMALTABLE"
625><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000626NAME="AEN20044"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000627></A
628><P
629></P
630><TABLE
631BORDER="0"
632WIDTH="100%"
633BGCOLOR="#FFD0D0"
634CELLSPACING="0"
635CELLPADDING="4"
636CLASS="CALSTABLE"
637><TBODY
638><TR
639><TD
640WIDTH="20%"
641ALIGN="RIGHT"
642VALIGN="TOP"
643><TT
644CLASS="PARAMETER"
645><I
646>tok</I
647></TT
648>&nbsp;:</TD
649><TD
650WIDTH="80%"
651ALIGN="LEFT"
652VALIGN="TOP"
653> the simple mutex</TD
654></TR
655></TBODY
656></TABLE
657><P
658></P
659></DIV
660></DIV
661><HR><DIV
662CLASS="REFSECT2"
663><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000664NAME="AEN20053"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000665></A
666><H3
667><A
668NAME="XMLNEWRMUTEX"
669></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000670>&#62;xmlNewRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000671><TABLE
672BORDER="0"
673BGCOLOR="#D6E8FF"
674WIDTH="100%"
675CELLPADDING="6"
676><TR
677><TD
678><PRE
679CLASS="PROGRAMLISTING"
680><A
681HREF="libxml-threads.html#XMLRMUTEXPTR"
682>xmlRMutexPtr</A
683> xmlNewRMutex (void);</PRE
684></TD
685></TR
686></TABLE
687><P
688></P
689><DIV
690CLASS="INFORMALTABLE"
691><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000692NAME="AEN20059"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000693></A
694><P
695></P
696><TABLE
697BORDER="0"
698WIDTH="100%"
699BGCOLOR="#FFD0D0"
700CELLSPACING="0"
701CELLPADDING="4"
702CLASS="CALSTABLE"
703><TBODY
704><TR
705><TD
706WIDTH="20%"
707ALIGN="RIGHT"
708VALIGN="TOP"
709><I
710CLASS="EMPHASIS"
711>Returns</I
712> :</TD
713><TD
714WIDTH="80%"
715ALIGN="LEFT"
716VALIGN="TOP"
717>&nbsp;</TD
718></TR
719></TBODY
720></TABLE
721><P
722></P
723></DIV
724></DIV
725><HR><DIV
726CLASS="REFSECT2"
727><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000728NAME="AEN20068"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000729></A
730><H3
731><A
732NAME="XMLRMUTEXLOCK"
733></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000734>&#62;xmlRMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000735><TABLE
736BORDER="0"
737BGCOLOR="#D6E8FF"
738WIDTH="100%"
739CELLPADDING="6"
740><TR
741><TD
742><PRE
743CLASS="PROGRAMLISTING"
744>void xmlRMutexLock (<A
745HREF="libxml-threads.html#XMLRMUTEXPTR"
746>xmlRMutexPtr</A
747> tok);</PRE
748></TD
749></TR
750></TABLE
751><P
752><A
753HREF="libxml-threads.html#XMLRMUTEXLOCK"
754>xmlRMutexLock</A
755>() is used to lock a libxml2 token_r.</P
756><P
757></P
758><DIV
759CLASS="INFORMALTABLE"
760><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000761NAME="AEN20076"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000762></A
763><P
764></P
765><TABLE
766BORDER="0"
767WIDTH="100%"
768BGCOLOR="#FFD0D0"
769CELLSPACING="0"
770CELLPADDING="4"
771CLASS="CALSTABLE"
772><TBODY
773><TR
774><TD
775WIDTH="20%"
776ALIGN="RIGHT"
777VALIGN="TOP"
778><TT
779CLASS="PARAMETER"
780><I
781>tok</I
782></TT
783>&nbsp;:</TD
784><TD
785WIDTH="80%"
786ALIGN="LEFT"
787VALIGN="TOP"
788> the reentrant mutex</TD
789></TR
790></TBODY
791></TABLE
792><P
793></P
794></DIV
795></DIV
796><HR><DIV
797CLASS="REFSECT2"
798><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000799NAME="AEN20085"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000800></A
801><H3
802><A
803NAME="XMLRMUTEXUNLOCK"
804></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000805>&#62;xmlRMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000806><TABLE
807BORDER="0"
808BGCOLOR="#D6E8FF"
809WIDTH="100%"
810CELLPADDING="6"
811><TR
812><TD
813><PRE
814CLASS="PROGRAMLISTING"
815>void xmlRMutexUnlock (<A
816HREF="libxml-threads.html#XMLRMUTEXPTR"
817>xmlRMutexPtr</A
818> tok);</PRE
819></TD
820></TR
821></TABLE
822><P
823><A
824HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
825>xmlRMutexUnlock</A
826>() is used to unlock a libxml2 token_r.</P
827><P
828></P
829><DIV
830CLASS="INFORMALTABLE"
831><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000832NAME="AEN20093"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000833></A
834><P
835></P
836><TABLE
837BORDER="0"
838WIDTH="100%"
839BGCOLOR="#FFD0D0"
840CELLSPACING="0"
841CELLPADDING="4"
842CLASS="CALSTABLE"
843><TBODY
844><TR
845><TD
846WIDTH="20%"
847ALIGN="RIGHT"
848VALIGN="TOP"
849><TT
850CLASS="PARAMETER"
851><I
852>tok</I
853></TT
854>&nbsp;:</TD
855><TD
856WIDTH="80%"
857ALIGN="LEFT"
858VALIGN="TOP"
859> the reentrant mutex</TD
860></TR
861></TBODY
862></TABLE
863><P
864></P
865></DIV
866></DIV
867><HR><DIV
868CLASS="REFSECT2"
869><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000870NAME="AEN20102"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000871></A
872><H3
873><A
874NAME="XMLFREERMUTEX"
875></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000876>&#62;xmlFreeRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000877><TABLE
878BORDER="0"
879BGCOLOR="#D6E8FF"
880WIDTH="100%"
881CELLPADDING="6"
882><TR
883><TD
884><PRE
885CLASS="PROGRAMLISTING"
886>void xmlFreeRMutex (<A
887HREF="libxml-threads.html#XMLRMUTEXPTR"
888>xmlRMutexPtr</A
889> tok);</PRE
890></TD
891></TR
892></TABLE
893><P
894></P
895><DIV
896CLASS="INFORMALTABLE"
897><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000898NAME="AEN20108"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000899></A
900><P
901></P
902><TABLE
903BORDER="0"
904WIDTH="100%"
905BGCOLOR="#FFD0D0"
906CELLSPACING="0"
907CELLPADDING="4"
908CLASS="CALSTABLE"
909><TBODY
910><TR
911><TD
912WIDTH="20%"
913ALIGN="RIGHT"
914VALIGN="TOP"
915><TT
916CLASS="PARAMETER"
917><I
918>tok</I
919></TT
920>&nbsp;:</TD
921><TD
922WIDTH="80%"
923ALIGN="LEFT"
924VALIGN="TOP"
925>&nbsp;</TD
926></TR
927></TBODY
928></TABLE
929><P
930></P
931></DIV
932></DIV
933><HR><DIV
934CLASS="REFSECT2"
935><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000936NAME="AEN20117"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000937></A
938><H3
939><A
940NAME="XMLINITTHREADS"
941></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000942>&#62;xmlInitThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000943><TABLE
944BORDER="0"
945BGCOLOR="#D6E8FF"
946WIDTH="100%"
947CELLPADDING="6"
948><TR
949><TD
950><PRE
951CLASS="PROGRAMLISTING"
952>void xmlInitThreads (void);</PRE
953></TD
954></TR
955></TABLE
956><P
957><A
958HREF="libxml-threads.html#XMLINITTHREADS"
959>xmlInitThreads</A
960>() is used to to initialize all the thread related
961data of the libxml2 library.</P
962><P
963></P
964></DIV
965><HR><DIV
966CLASS="REFSECT2"
967><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000968NAME="AEN20124"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000969></A
970><H3
971><A
972NAME="XMLLOCKLIBRARY"
973></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000974>&#62;xmlLockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000975><TABLE
976BORDER="0"
977BGCOLOR="#D6E8FF"
978WIDTH="100%"
979CELLPADDING="6"
980><TR
981><TD
982><PRE
983CLASS="PROGRAMLISTING"
984>void xmlLockLibrary (void);</PRE
985></TD
986></TR
987></TABLE
988><P
989><A
990HREF="libxml-threads.html#XMLLOCKLIBRARY"
991>xmlLockLibrary</A
992>() is used to take out a re-entrant lock on the libxml2
993library.</P
994><P
995></P
996></DIV
997><HR><DIV
998CLASS="REFSECT2"
999><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001000NAME="AEN20131"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001001></A
1002><H3
1003><A
1004NAME="XMLUNLOCKLIBRARY"
1005></A
Daniel Veillard06622df2002-01-21 17:53:42 +00001006>&#62;xmlUnlockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001007><TABLE
1008BORDER="0"
1009BGCOLOR="#D6E8FF"
1010WIDTH="100%"
1011CELLPADDING="6"
1012><TR
1013><TD
1014><PRE
1015CLASS="PROGRAMLISTING"
1016>void xmlUnlockLibrary (void);</PRE
1017></TD
1018></TR
1019></TABLE
1020><P
1021><A
1022HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
1023>xmlUnlockLibrary</A
1024>() is used to release a re-entrant lock on the libxml2
1025library.</P
1026><P
1027></P
1028></DIV
1029><HR><DIV
1030CLASS="REFSECT2"
1031><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001032NAME="AEN20138"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001033></A
1034><H3
1035><A
1036NAME="XMLGETTHREADID"
1037></A
Daniel Veillard06622df2002-01-21 17:53:42 +00001038>&#62;xmlGetThreadId ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001039><TABLE
1040BORDER="0"
1041BGCOLOR="#D6E8FF"
1042WIDTH="100%"
1043CELLPADDING="6"
1044><TR
1045><TD
1046><PRE
1047CLASS="PROGRAMLISTING"
1048>int xmlGetThreadId (void);</PRE
1049></TD
1050></TR
1051></TABLE
1052><P
1053><A
1054HREF="libxml-threads.html#XMLGETTHREADID"
1055>xmlGetThreadId</A
1056>() find the current thread ID number</P
1057><P
1058></P
1059><DIV
1060CLASS="INFORMALTABLE"
1061><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001062NAME="AEN20145"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001063></A
1064><P
1065></P
1066><TABLE
1067BORDER="0"
1068WIDTH="100%"
1069BGCOLOR="#FFD0D0"
1070CELLSPACING="0"
1071CELLPADDING="4"
1072CLASS="CALSTABLE"
1073><TBODY
1074><TR
1075><TD
1076WIDTH="20%"
1077ALIGN="RIGHT"
1078VALIGN="TOP"
1079><I
1080CLASS="EMPHASIS"
1081>Returns</I
1082> :</TD
1083><TD
1084WIDTH="80%"
1085ALIGN="LEFT"
1086VALIGN="TOP"
1087>the current thread ID number</TD
1088></TR
1089></TBODY
1090></TABLE
1091><P
1092></P
1093></DIV
1094></DIV
1095><HR><DIV
1096CLASS="REFSECT2"
1097><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001098NAME="AEN20154"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001099></A
1100><H3
1101><A
1102NAME="XMLISMAINTHREAD"
1103></A
Daniel Veillard06622df2002-01-21 17:53:42 +00001104>&#62;xmlIsMainThread ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001105><TABLE
1106BORDER="0"
1107BGCOLOR="#D6E8FF"
1108WIDTH="100%"
1109CELLPADDING="6"
1110><TR
1111><TD
1112><PRE
1113CLASS="PROGRAMLISTING"
1114>int xmlIsMainThread (void);</PRE
1115></TD
1116></TR
1117></TABLE
1118><P
1119><A
1120HREF="libxml-threads.html#XMLISMAINTHREAD"
1121>xmlIsMainThread</A
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001122>() check whether the current thread is the main thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001123><P
1124></P
1125><DIV
1126CLASS="INFORMALTABLE"
1127><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001128NAME="AEN20161"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001129></A
1130><P
1131></P
1132><TABLE
1133BORDER="0"
1134WIDTH="100%"
1135BGCOLOR="#FFD0D0"
1136CELLSPACING="0"
1137CELLPADDING="4"
1138CLASS="CALSTABLE"
1139><TBODY
1140><TR
1141><TD
1142WIDTH="20%"
1143ALIGN="RIGHT"
1144VALIGN="TOP"
1145><I
1146CLASS="EMPHASIS"
1147>Returns</I
1148> :</TD
1149><TD
1150WIDTH="80%"
1151ALIGN="LEFT"
1152VALIGN="TOP"
1153>1 if the current thread is the main thread, 0 otherwise</TD
1154></TR
1155></TBODY
1156></TABLE
1157><P
1158></P
1159></DIV
1160></DIV
1161><HR><DIV
1162CLASS="REFSECT2"
1163><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001164NAME="AEN20170"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001165></A
1166><H3
1167><A
1168NAME="XMLCLEANUPTHREADS"
1169></A
Daniel Veillard06622df2002-01-21 17:53:42 +00001170>&#62;xmlCleanupThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001171><TABLE
1172BORDER="0"
1173BGCOLOR="#D6E8FF"
1174WIDTH="100%"
1175CELLPADDING="6"
1176><TR
1177><TD
1178><PRE
1179CLASS="PROGRAMLISTING"
1180>void xmlCleanupThreads (void);</PRE
1181></TD
1182></TR
1183></TABLE
1184><P
1185><A
1186HREF="libxml-threads.html#XMLCLEANUPTHREADS"
1187>xmlCleanupThreads</A
1188>() is used to to cleanup all the thread related
1189data of the libxml2 library once processing has ended.</P
1190><P
1191></P
1192></DIV
1193><HR><DIV
1194CLASS="REFSECT2"
1195><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001196NAME="AEN20177"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001197></A
1198><H3
1199><A
1200NAME="XMLGETGLOBALSTATE"
1201></A
Daniel Veillard06622df2002-01-21 17:53:42 +00001202>&#62;xmlGetGlobalState ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001203><TABLE
1204BORDER="0"
1205BGCOLOR="#D6E8FF"
1206WIDTH="100%"
1207CELLPADDING="6"
1208><TR
1209><TD
1210><PRE
1211CLASS="PROGRAMLISTING"
1212><A
1213HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
1214>xmlGlobalStatePtr</A
1215> xmlGetGlobalState (void);</PRE
1216></TD
1217></TR
1218></TABLE
1219><P
1220><A
1221HREF="libxml-threads.html#XMLGETGLOBALSTATE"
1222>xmlGetGlobalState</A
Daniel Veillardef90ba72001-12-07 14:24:22 +00001223>() is called to retrieve the global state for a thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001224><P
1225></P
1226><DIV
1227CLASS="INFORMALTABLE"
1228><A
Daniel Veillard5f4b5992002-02-20 10:22:49 +00001229NAME="AEN20185"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001230></A
1231><P
1232></P
1233><TABLE
1234BORDER="0"
1235WIDTH="100%"
1236BGCOLOR="#FFD0D0"
1237CELLSPACING="0"
1238CELLPADDING="4"
1239CLASS="CALSTABLE"
1240><TBODY
1241><TR
1242><TD
1243WIDTH="20%"
1244ALIGN="RIGHT"
1245VALIGN="TOP"
1246><I
1247CLASS="EMPHASIS"
1248>Returns</I
1249> :</TD
1250><TD
1251WIDTH="80%"
1252ALIGN="LEFT"
1253VALIGN="TOP"
1254>the thread global state or NULL in case of error</TD
1255></TR
1256></TBODY
1257></TABLE
1258><P
1259></P
1260></DIV
1261></DIV
1262></DIV
1263><DIV
1264CLASS="NAVFOOTER"
1265><BR
1266CLEAR="all"><BR><TABLE
1267WIDTH="100%"
1268BORDER="0"
1269BGCOLOR="#000000"
1270CELLPADDING="1"
1271CELLSPACING="0"
1272><TR
1273><TD
1274WIDTH="25%"
1275BGCOLOR="#C00000"
1276ALIGN="left"
1277><A
1278HREF="libxml-catalog.html"
1279><FONT
1280COLOR="#FFFFFF"
1281SIZE="3"
1282><B
1283>&#60;&#60;&#60; Previous Page</B
1284></FONT
1285></A
1286></TD
1287><TD
1288WIDTH="25%"
1289BGCOLOR="#0000C0"
1290ALIGN="center"
1291><FONT
1292COLOR="#FFFFFF"
1293SIZE="3"
1294><B
1295><A
1296HREF="book1.html"
1297><FONT
1298COLOR="#FFFFFF"
1299SIZE="3"
1300><B
1301>Home</B
1302></FONT
1303></A
1304></B
1305></FONT
1306></TD
1307><TD
1308WIDTH="25%"
1309BGCOLOR="#00C000"
1310ALIGN="center"
1311><FONT
1312COLOR="#FFFFFF"
1313SIZE="3"
1314><B
1315><A
1316HREF="libxml-lib.html"
1317><FONT
1318COLOR="#FFFFFF"
1319SIZE="3"
1320><B
1321>Up</B
1322></FONT
1323></A
1324></B
1325></FONT
1326></TD
1327><TD
1328WIDTH="25%"
1329BGCOLOR="#C00000"
1330ALIGN="right"
1331><A
1332HREF="libxml-globals.html"
1333><FONT
1334COLOR="#FFFFFF"
1335SIZE="3"
1336><B
1337>Next Page &#62;&#62;&#62;</B
1338></FONT
1339></A
1340></TD
1341></TR
1342><TR
1343><TD
1344COLSPAN="2"
1345ALIGN="left"
1346><FONT
1347COLOR="#FFFFFF"
1348SIZE="3"
1349><B
1350>catalog</B
1351></FONT
1352></TD
1353><TD
1354COLSPAN="2"
1355ALIGN="right"
1356><FONT
1357COLOR="#FFFFFF"
1358SIZE="3"
1359><B
1360>globals</B
1361></FONT
1362></TD
1363></TR
1364></TABLE
1365></DIV
1366></BODY
1367></HTML
1368>