(root)/
libxml2-2.12.3/
include/
private/
threads.h
       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__ */