• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef XML_THREADS_H_PRIVATE__
2 #define XML_THREADS_H_PRIVATE__
3 
4 #include <libxml/threads.h>
5 
6 #ifdef LIBXML_THREAD_ENABLED
7   #ifdef HAVE_PTHREAD_H
8     #include <pthread.h>
9     #define HAVE_POSIX_THREADS
10   #elif defined(_WIN32)
11     #define WIN32_LEAN_AND_MEAN
12     #include <windows.h>
13     #define HAVE_WIN32_THREADS
14   #endif
15 #endif
16 
17 /*
18  * xmlMutex are a simple mutual exception locks
19  */
20 struct _xmlMutex {
21 #ifdef HAVE_POSIX_THREADS
22     pthread_mutex_t lock;
23 #elif defined HAVE_WIN32_THREADS
24     CRITICAL_SECTION cs;
25 #else
26     int empty;
27 #endif
28 };
29 
30 XML_HIDDEN void
31 xmlInitMutex(xmlMutexPtr mutex);
32 XML_HIDDEN void
33 xmlCleanupMutex(xmlMutexPtr mutex);
34 
35 #endif /* XML_THREADS_H_PRIVATE__ */
36