diff --git a/src/util/threads-win32.c b/src/util/threads-win32.c index e478560c15..fe1fcd0627 100644 --- a/src/util/threads-win32.c +++ b/src/util/threads-win32.c @@ -1,7 +1,7 @@ /* * 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 diff --git a/src/util/threads.c b/src/util/threads.c index 8c0a91a607..4ebce568b0 100644 --- a/src/util/threads.c +++ b/src/util/threads.c @@ -23,12 +23,12 @@ #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 diff --git a/src/util/threads.h b/src/util/threads.h index 8b2be8dbc8..db54ea011d 100644 --- a/src/util/threads.h +++ b/src/util/threads.h @@ -61,14 +61,12 @@ int virThreadLocalInit(virThreadLocalPtr l, 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