blob: 726aee9e116b6b2e59036f499775b81330974bb2 [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 Veillard06622df2002-01-21 17:53:42 +0000126NAME="AEN19944"
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 Veillard06622df2002-01-21 17:53:42 +0000134NAME="AEN19947"
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>;
157<A
158HREF="libxml-threads.html#XMLMUTEXPTR"
159>xmlMutexPtr</A
160> <A
161HREF="libxml-threads.html#XMLNEWMUTEX"
162>xmlNewMutex</A
163> (void);
164void <A
165HREF="libxml-threads.html#XMLMUTEXLOCK"
166>xmlMutexLock</A
167> (<A
168HREF="libxml-threads.html#XMLMUTEXPTR"
169>xmlMutexPtr</A
170> tok);
171void <A
172HREF="libxml-threads.html#XMLMUTEXUNLOCK"
173>xmlMutexUnlock</A
174> (<A
175HREF="libxml-threads.html#XMLMUTEXPTR"
176>xmlMutexPtr</A
177> tok);
178void <A
179HREF="libxml-threads.html#XMLFREEMUTEX"
180>xmlFreeMutex</A
181> (<A
182HREF="libxml-threads.html#XMLMUTEXPTR"
183>xmlMutexPtr</A
184> tok);
185struct <A
186HREF="libxml-threads.html#XMLRMUTEX"
187>xmlRMutex</A
188>;
189typedef <A
190HREF="libxml-threads.html#XMLRMUTEXPTR"
191>xmlRMutexPtr</A
192>;
193<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 Veillard06622df2002-01-21 17:53:42 +0000259NAME="AEN19978"
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 Veillard06622df2002-01-21 17:53:42 +0000269NAME="AEN19981"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000270></A
271><H2
272>Details</H2
273><DIV
274CLASS="REFSECT2"
275><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000276NAME="AEN19983"
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 Veillard06622df2002-01-21 17:53:42 +0000302NAME="AEN19988"
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 Veillard06622df2002-01-21 17:53:42 +0000334NAME="AEN19995"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000335></A
336><H3
337><A
338NAME="XMLNEWMUTEX"
339></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000340>&#62;xmlNewMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000341><TABLE
342BORDER="0"
343BGCOLOR="#D6E8FF"
344WIDTH="100%"
345CELLPADDING="6"
346><TR
347><TD
348><PRE
349CLASS="PROGRAMLISTING"
350><A
351HREF="libxml-threads.html#XMLMUTEXPTR"
352>xmlMutexPtr</A
353> xmlNewMutex (void);</PRE
354></TD
355></TR
356></TABLE
357><P
358></P
359><DIV
360CLASS="INFORMALTABLE"
361><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000362NAME="AEN20001"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000363></A
364><P
365></P
366><TABLE
367BORDER="0"
368WIDTH="100%"
369BGCOLOR="#FFD0D0"
370CELLSPACING="0"
371CELLPADDING="4"
372CLASS="CALSTABLE"
373><TBODY
374><TR
375><TD
376WIDTH="20%"
377ALIGN="RIGHT"
378VALIGN="TOP"
379><I
380CLASS="EMPHASIS"
381>Returns</I
382> :</TD
383><TD
384WIDTH="80%"
385ALIGN="LEFT"
386VALIGN="TOP"
387>&nbsp;</TD
388></TR
389></TBODY
390></TABLE
391><P
392></P
393></DIV
394></DIV
395><HR><DIV
396CLASS="REFSECT2"
397><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000398NAME="AEN20010"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000399></A
400><H3
401><A
402NAME="XMLMUTEXLOCK"
403></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000404>&#62;xmlMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000405><TABLE
406BORDER="0"
407BGCOLOR="#D6E8FF"
408WIDTH="100%"
409CELLPADDING="6"
410><TR
411><TD
412><PRE
413CLASS="PROGRAMLISTING"
414>void xmlMutexLock (<A
415HREF="libxml-threads.html#XMLMUTEXPTR"
416>xmlMutexPtr</A
417> tok);</PRE
418></TD
419></TR
420></TABLE
421><P
422><A
423HREF="libxml-threads.html#XMLMUTEXLOCK"
424>xmlMutexLock</A
425>() is used to lock a libxml2 token.</P
426><P
427></P
428><DIV
429CLASS="INFORMALTABLE"
430><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000431NAME="AEN20018"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000432></A
433><P
434></P
435><TABLE
436BORDER="0"
437WIDTH="100%"
438BGCOLOR="#FFD0D0"
439CELLSPACING="0"
440CELLPADDING="4"
441CLASS="CALSTABLE"
442><TBODY
443><TR
444><TD
445WIDTH="20%"
446ALIGN="RIGHT"
447VALIGN="TOP"
448><TT
449CLASS="PARAMETER"
450><I
451>tok</I
452></TT
453>&nbsp;:</TD
454><TD
455WIDTH="80%"
456ALIGN="LEFT"
457VALIGN="TOP"
458> the simple mutex</TD
459></TR
460></TBODY
461></TABLE
462><P
463></P
464></DIV
465></DIV
466><HR><DIV
467CLASS="REFSECT2"
468><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000469NAME="AEN20027"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000470></A
471><H3
472><A
473NAME="XMLMUTEXUNLOCK"
474></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000475>&#62;xmlMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000476><TABLE
477BORDER="0"
478BGCOLOR="#D6E8FF"
479WIDTH="100%"
480CELLPADDING="6"
481><TR
482><TD
483><PRE
484CLASS="PROGRAMLISTING"
485>void xmlMutexUnlock (<A
486HREF="libxml-threads.html#XMLMUTEXPTR"
487>xmlMutexPtr</A
488> tok);</PRE
489></TD
490></TR
491></TABLE
492><P
493><A
494HREF="libxml-threads.html#XMLMUTEXUNLOCK"
495>xmlMutexUnlock</A
496>() is used to unlock a libxml2 token.</P
497><P
498></P
499><DIV
500CLASS="INFORMALTABLE"
501><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000502NAME="AEN20035"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000503></A
504><P
505></P
506><TABLE
507BORDER="0"
508WIDTH="100%"
509BGCOLOR="#FFD0D0"
510CELLSPACING="0"
511CELLPADDING="4"
512CLASS="CALSTABLE"
513><TBODY
514><TR
515><TD
516WIDTH="20%"
517ALIGN="RIGHT"
518VALIGN="TOP"
519><TT
520CLASS="PARAMETER"
521><I
522>tok</I
523></TT
524>&nbsp;:</TD
525><TD
526WIDTH="80%"
527ALIGN="LEFT"
528VALIGN="TOP"
529> the simple mutex</TD
530></TR
531></TBODY
532></TABLE
533><P
534></P
535></DIV
536></DIV
537><HR><DIV
538CLASS="REFSECT2"
539><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000540NAME="AEN20044"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000541></A
542><H3
543><A
544NAME="XMLFREEMUTEX"
545></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000546>&#62;xmlFreeMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000547><TABLE
548BORDER="0"
549BGCOLOR="#D6E8FF"
550WIDTH="100%"
551CELLPADDING="6"
552><TR
553><TD
554><PRE
555CLASS="PROGRAMLISTING"
556>void xmlFreeMutex (<A
557HREF="libxml-threads.html#XMLMUTEXPTR"
558>xmlMutexPtr</A
559> tok);</PRE
560></TD
561></TR
562></TABLE
563><P
564><A
565HREF="libxml-threads.html#XMLFREEMUTEX"
566>xmlFreeMutex</A
567>() is used to reclaim resources associated with a libxml2 token
568struct.</P
569><P
570></P
571><DIV
572CLASS="INFORMALTABLE"
573><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000574NAME="AEN20052"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000575></A
576><P
577></P
578><TABLE
579BORDER="0"
580WIDTH="100%"
581BGCOLOR="#FFD0D0"
582CELLSPACING="0"
583CELLPADDING="4"
584CLASS="CALSTABLE"
585><TBODY
586><TR
587><TD
588WIDTH="20%"
589ALIGN="RIGHT"
590VALIGN="TOP"
591><TT
592CLASS="PARAMETER"
593><I
594>tok</I
595></TT
596>&nbsp;:</TD
597><TD
598WIDTH="80%"
599ALIGN="LEFT"
600VALIGN="TOP"
601> the simple mutex</TD
602></TR
603></TBODY
604></TABLE
605><P
606></P
607></DIV
608></DIV
609><HR><DIV
610CLASS="REFSECT2"
611><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000612NAME="AEN20061"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000613></A
614><H3
615><A
616NAME="XMLRMUTEX"
617></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000618>&#62;struct xmlRMutex</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000619><TABLE
620BORDER="0"
621BGCOLOR="#D6E8FF"
622WIDTH="100%"
623CELLPADDING="6"
624><TR
625><TD
626><PRE
627CLASS="PROGRAMLISTING"
628>struct xmlRMutex;</PRE
629></TD
630></TR
631></TABLE
632><P
633></P
634></DIV
635><HR><DIV
636CLASS="REFSECT2"
637><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000638NAME="AEN20066"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000639></A
640><H3
641><A
642NAME="XMLRMUTEXPTR"
643></A
Daniel Veillard06622df2002-01-21 17:53:42 +0000644>&#62;xmlRMutexPtr</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000645><TABLE
646BORDER="0"
647BGCOLOR="#D6E8FF"
648WIDTH="100%"
649CELLPADDING="6"
650><TR
651><TD
652><PRE
653CLASS="PROGRAMLISTING"
654>typedef xmlRMutex *xmlRMutexPtr;</PRE
655></TD
656></TR
657></TABLE
658><P
659></P
660></DIV
661><HR><DIV
662CLASS="REFSECT2"
663><A
Daniel Veillard06622df2002-01-21 17:53:42 +0000664NAME="AEN20071"
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 Veillard06622df2002-01-21 17:53:42 +0000692NAME="AEN20077"
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 Veillard06622df2002-01-21 17:53:42 +0000728NAME="AEN20086"
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 Veillard06622df2002-01-21 17:53:42 +0000761NAME="AEN20094"
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 Veillard06622df2002-01-21 17:53:42 +0000799NAME="AEN20103"
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 Veillard06622df2002-01-21 17:53:42 +0000832NAME="AEN20111"
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 Veillard06622df2002-01-21 17:53:42 +0000870NAME="AEN20120"
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 Veillard06622df2002-01-21 17:53:42 +0000898NAME="AEN20126"
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 Veillard06622df2002-01-21 17:53:42 +0000936NAME="AEN20135"
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 Veillard06622df2002-01-21 17:53:42 +0000968NAME="AEN20142"
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 Veillard06622df2002-01-21 17:53:42 +00001000NAME="AEN20149"
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 Veillard06622df2002-01-21 17:53:42 +00001032NAME="AEN20156"
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 Veillard06622df2002-01-21 17:53:42 +00001062NAME="AEN20163"
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 Veillard06622df2002-01-21 17:53:42 +00001098NAME="AEN20172"
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 Veillard06622df2002-01-21 17:53:42 +00001128NAME="AEN20179"
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 Veillard06622df2002-01-21 17:53:42 +00001164NAME="AEN20188"
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 Veillard06622df2002-01-21 17:53:42 +00001196NAME="AEN20195"
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 Veillard06622df2002-01-21 17:53:42 +00001229NAME="AEN20203"
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>