blob: 044e848357493daca754fea8847f77e00e89983b [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
126NAME="AEN19856"
127></A
128><H2
129>Name</H2
130>threads&nbsp;--&nbsp;</DIV
131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
134NAME="AEN19859"
135></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
259NAME="AEN19890"
260></A
261><H2
262>Description</H2
263><P
264></P
265></DIV
266><DIV
267CLASS="REFSECT1"
268><A
269NAME="AEN19893"
270></A
271><H2
272>Details</H2
273><DIV
274CLASS="REFSECT2"
275><A
276NAME="AEN19895"
277></A
278><H3
279><A
280NAME="XMLMUTEX"
281></A
282>struct xmlMutex</H3
283><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
302NAME="AEN19900"
303></A
304><H3
305><A
306NAME="XMLMUTEXPTR"
307></A
308>xmlMutexPtr</H3
309><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
334NAME="AEN19907"
335></A
336><H3
337><A
338NAME="XMLNEWMUTEX"
339></A
340>xmlNewMutex ()</H3
341><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
362NAME="AEN19913"
363></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
398NAME="AEN19922"
399></A
400><H3
401><A
402NAME="XMLMUTEXLOCK"
403></A
404>xmlMutexLock ()</H3
405><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
431NAME="AEN19930"
432></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
469NAME="AEN19939"
470></A
471><H3
472><A
473NAME="XMLMUTEXUNLOCK"
474></A
475>xmlMutexUnlock ()</H3
476><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
502NAME="AEN19947"
503></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
540NAME="AEN19956"
541></A
542><H3
543><A
544NAME="XMLFREEMUTEX"
545></A
546>xmlFreeMutex ()</H3
547><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
574NAME="AEN19964"
575></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
612NAME="AEN19973"
613></A
614><H3
615><A
616NAME="XMLRMUTEX"
617></A
618>struct xmlRMutex</H3
619><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
638NAME="AEN19978"
639></A
640><H3
641><A
642NAME="XMLRMUTEXPTR"
643></A
644>xmlRMutexPtr</H3
645><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
664NAME="AEN19983"
665></A
666><H3
667><A
668NAME="XMLNEWRMUTEX"
669></A
670>xmlNewRMutex ()</H3
671><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
692NAME="AEN19989"
693></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
728NAME="AEN19998"
729></A
730><H3
731><A
732NAME="XMLRMUTEXLOCK"
733></A
734>xmlRMutexLock ()</H3
735><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
761NAME="AEN20006"
762></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
799NAME="AEN20015"
800></A
801><H3
802><A
803NAME="XMLRMUTEXUNLOCK"
804></A
805>xmlRMutexUnlock ()</H3
806><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
832NAME="AEN20023"
833></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
870NAME="AEN20032"
871></A
872><H3
873><A
874NAME="XMLFREERMUTEX"
875></A
876>xmlFreeRMutex ()</H3
877><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
898NAME="AEN20038"
899></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
936NAME="AEN20047"
937></A
938><H3
939><A
940NAME="XMLINITTHREADS"
941></A
942>xmlInitThreads ()</H3
943><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
968NAME="AEN20054"
969></A
970><H3
971><A
972NAME="XMLLOCKLIBRARY"
973></A
974>xmlLockLibrary ()</H3
975><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
1000NAME="AEN20061"
1001></A
1002><H3
1003><A
1004NAME="XMLUNLOCKLIBRARY"
1005></A
1006>xmlUnlockLibrary ()</H3
1007><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
1032NAME="AEN20068"
1033></A
1034><H3
1035><A
1036NAME="XMLGETTHREADID"
1037></A
1038>xmlGetThreadId ()</H3
1039><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
1062NAME="AEN20075"
1063></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
1098NAME="AEN20084"
1099></A
1100><H3
1101><A
1102NAME="XMLISMAINTHREAD"
1103></A
1104>xmlIsMainThread ()</H3
1105><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
1122>() check wether the current thread is the main thread.</P
1123><P
1124></P
1125><DIV
1126CLASS="INFORMALTABLE"
1127><A
1128NAME="AEN20091"
1129></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
1164NAME="AEN20100"
1165></A
1166><H3
1167><A
1168NAME="XMLCLEANUPTHREADS"
1169></A
1170>xmlCleanupThreads ()</H3
1171><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
1196NAME="AEN20107"
1197></A
1198><H3
1199><A
1200NAME="XMLGETGLOBALSTATE"
1201></A
1202>xmlGetGlobalState ()</H3
1203><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
1223>() is called to retrieve the global state for a thread.
1224keyonce will only be set once during a library invocation and is used
1225to create globalkey, the key used to store each thread's TSD.</P
1226><P
1227>Note: it should not be called for the "main" thread as this thread uses
1228the existing global variables defined in the library.</P
1229><P
1230></P
1231><DIV
1232CLASS="INFORMALTABLE"
1233><A
1234NAME="AEN20116"
1235></A
1236><P
1237></P
1238><TABLE
1239BORDER="0"
1240WIDTH="100%"
1241BGCOLOR="#FFD0D0"
1242CELLSPACING="0"
1243CELLPADDING="4"
1244CLASS="CALSTABLE"
1245><TBODY
1246><TR
1247><TD
1248WIDTH="20%"
1249ALIGN="RIGHT"
1250VALIGN="TOP"
1251><I
1252CLASS="EMPHASIS"
1253>Returns</I
1254> :</TD
1255><TD
1256WIDTH="80%"
1257ALIGN="LEFT"
1258VALIGN="TOP"
1259>the thread global state or NULL in case of error</TD
1260></TR
1261></TBODY
1262></TABLE
1263><P
1264></P
1265></DIV
1266></DIV
1267></DIV
1268><DIV
1269CLASS="NAVFOOTER"
1270><BR
1271CLEAR="all"><BR><TABLE
1272WIDTH="100%"
1273BORDER="0"
1274BGCOLOR="#000000"
1275CELLPADDING="1"
1276CELLSPACING="0"
1277><TR
1278><TD
1279WIDTH="25%"
1280BGCOLOR="#C00000"
1281ALIGN="left"
1282><A
1283HREF="libxml-catalog.html"
1284><FONT
1285COLOR="#FFFFFF"
1286SIZE="3"
1287><B
1288>&#60;&#60;&#60; Previous Page</B
1289></FONT
1290></A
1291></TD
1292><TD
1293WIDTH="25%"
1294BGCOLOR="#0000C0"
1295ALIGN="center"
1296><FONT
1297COLOR="#FFFFFF"
1298SIZE="3"
1299><B
1300><A
1301HREF="book1.html"
1302><FONT
1303COLOR="#FFFFFF"
1304SIZE="3"
1305><B
1306>Home</B
1307></FONT
1308></A
1309></B
1310></FONT
1311></TD
1312><TD
1313WIDTH="25%"
1314BGCOLOR="#00C000"
1315ALIGN="center"
1316><FONT
1317COLOR="#FFFFFF"
1318SIZE="3"
1319><B
1320><A
1321HREF="libxml-lib.html"
1322><FONT
1323COLOR="#FFFFFF"
1324SIZE="3"
1325><B
1326>Up</B
1327></FONT
1328></A
1329></B
1330></FONT
1331></TD
1332><TD
1333WIDTH="25%"
1334BGCOLOR="#C00000"
1335ALIGN="right"
1336><A
1337HREF="libxml-globals.html"
1338><FONT
1339COLOR="#FFFFFF"
1340SIZE="3"
1341><B
1342>Next Page &#62;&#62;&#62;</B
1343></FONT
1344></A
1345></TD
1346></TR
1347><TR
1348><TD
1349COLSPAN="2"
1350ALIGN="left"
1351><FONT
1352COLOR="#FFFFFF"
1353SIZE="3"
1354><B
1355>catalog</B
1356></FONT
1357></TD
1358><TD
1359COLSPAN="2"
1360ALIGN="right"
1361><FONT
1362COLOR="#FFFFFF"
1363SIZE="3"
1364><B
1365>globals</B
1366></FONT
1367></TD
1368></TR
1369></TABLE
1370></DIV
1371></BODY
1372></HTML
1373>