/*
* threads-win32.c: basic thread synchronization primitives
*
- * Copyright (C) 2009 Red Hat, Inc.
+ * Copyright (C) 2009-2010 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include "threads.h"
-#ifdef HAVE_PTHREAD_MUTEXATTR_INIT
+/* On mingw, we prefer native threading over the sometimes-broken
+ * pthreads-win32 library wrapper. */
+#ifdef WIN32
+# include "threads-win32.c"
+#elif defined HAVE_PTHREAD_MUTEXATTR_INIT
# include "threads-pthread.c"
#else
-# ifdef WIN32
-# include "threads-win32.c"
-# else
-# error "Either pthreads or Win32 threads are required"
-# endif
+# error "Either pthreads or Win32 threads are required"
#endif
void *virThreadLocalGet(virThreadLocalPtr l);
void virThreadLocalSet(virThreadLocalPtr l, void*);
-# ifdef HAVE_PTHREAD_MUTEXATTR_INIT
+# ifdef WIN32
+# include "threads-win32.h"
+# elif defined HAVE_PTHREAD_MUTEXATTR_INIT
# include "threads-pthread.h"
# else
-# ifdef WIN32
-# include "threads-win32.h"
-# else
-# error "Either pthreads or Win32 threads are required"
-# endif
+# error "Either pthreads or Win32 threads are required"
# endif
#endif