From e304d0f8ee404ef7e1223a324012d4fb4049185d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 13 Sep 2014 11:26:17 +0200 Subject: thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSD On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are not compatible with C++11 "constexpr" (see Mantis ticket 0004110). As a workaround, don't ues "constexpr", and use the functions pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and pthread_cond_destroy() instead. This adds some runtime overhead, but is portable to POSIX implementations that have awkward initializer macros. --- src/notify.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/notify.hxx') diff --git a/src/notify.hxx b/src/notify.hxx index 6b9e95368..1024dd8d9 100644 --- a/src/notify.hxx +++ b/src/notify.hxx @@ -28,7 +28,7 @@ struct notify { Cond cond; bool pending; -#ifndef WIN32 +#if !defined(WIN32) && !defined(__NetBSD__) constexpr #endif notify():pending(false) {} -- cgit v1.2.3