summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libusb/os/threads_posix.c15
-rw-r--r--libusb/version_nano.h2
2 files changed, 7 insertions, 10 deletions
diff --git a/libusb/os/threads_posix.c b/libusb/os/threads_posix.c
index dc182b7..9769f58 100644
--- a/libusb/os/threads_posix.c
+++ b/libusb/os/threads_posix.c
@@ -20,6 +20,11 @@
*/
#if defined(__linux__) || defined(__OpenBSD__)
+# if defined(__linux__)
+# define _GNU_SOURCE
+# else
+# define _BSD_SOURCE
+# endif
# include <unistd.h>
# include <sys/syscall.h>
#elif defined(__APPLE__)
@@ -28,15 +33,6 @@
# include <windows.h>
#endif
-#ifdef _XOPEN_SOURCE
-# if _XOPEN_SOURCE < 500
-# undef _XOPEN_SOURCE
-# define _XOPEN_SOURCE 500
-# endif
-#else
-#define _XOPEN_SOURCE 500
-#endif /* _XOPEN_SOURCE */
-
#include "threads_posix.h"
int usbi_mutex_init_recursive(pthread_mutex_t *mutex, pthread_mutexattr_t *attr)
@@ -50,6 +46,7 @@ int usbi_mutex_init_recursive(pthread_mutex_t *mutex, pthread_mutexattr_t *attr)
return err;
}
+ /* mutexattr_settype requires _GNU_SOURCE or _XOPEN_SOURCE >= 500 on Linux */
err = pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
if (err != 0)
goto finish;
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index f56fbab..8d7dc39 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10520
+#define LIBUSB_NANO 10521