mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-12 14:00:19 -04:00
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
$NetBSD: patch-base_mutex.cc,v 1.3 2013/09/07 18:42:14 ryoon Exp $
|
|
|
|
--- base/mutex.cc.orig 2013-08-28 05:26:13.000000000 +0000
|
|
+++ base/mutex.cc
|
|
@@ -61,7 +61,7 @@ namespace mozc {
|
|
|
|
// Wrapper for Windows InterlockedCompareExchange
|
|
namespace {
|
|
-#ifdef OS_LINUX
|
|
+#if defined(OS_LINUX) || defined(OS_NETBSD)
|
|
// Linux doesn't provide InterlockedCompareExchange-like function.
|
|
inline int InterlockedCompareExchange(volatile int *target,
|
|
int new_value,
|
|
@@ -80,7 +80,7 @@ inline int InterlockedCompareExchange(vo
|
|
pthread_mutex_unlock(&lock);
|
|
return result;
|
|
}
|
|
-#endif // OS_LINUX
|
|
+#endif // OS_LINUX || OS_NETBSD
|
|
|
|
// Use OSAtomicCompareAndSwapInt on Mac OSX
|
|
// http://developer.apple.com/iphone/library/documentation/
|
|
@@ -93,7 +93,7 @@ inline int InterlockedCompareExchange(vo
|
|
return OSAtomicCompareAndSwapInt(old_value, new_value, target)
|
|
? old_value : *target;
|
|
}
|
|
-#endif // OX_MACOSX
|
|
+#endif // OS_MACOSX
|
|
|
|
} // namespace
|
|
|
|
@@ -300,7 +300,7 @@ Mutex::Mutex() {
|
|
// PTHREAD_MUTEX_RECURSIVE_NP but Mac OS X 10.5 does not
|
|
pthread_mutexattr_t attr;
|
|
pthread_mutexattr_init(&attr);
|
|
-#if defined(OS_MACOSX)
|
|
+#if defined(OS_MACOSX) || defined(OS_NETBSD)
|
|
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
|
#elif defined(OS_LINUX)
|
|
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
|