From ea98d02ce888b299f7a5903b7174077e55e439ea Mon Sep 17 00:00:00 2001 From: gbeauche <> Date: Mon, 16 Sep 2002 15:06:24 +0000 Subject: [PATCH] Conditionalize use of pthread_mutexattr_setpshared() as this is an optional POSIX feature from _POSIX_THREAD_PROCESS_SHARED group. Besides, Ulrich Drepper mentions "the kernel support for this option wasn't available until 2.5.7. Future versions of the thread library will support this option." BTW, this nukes a warning when build on FreeBSD 4.6 --- BasiliskII/src/Unix/configure.ac | 1 + BasiliskII/src/Unix/main_unix.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/BasiliskII/src/Unix/configure.ac b/BasiliskII/src/Unix/configure.ac index 32fab8d0..4ceb6ac0 100644 --- a/BasiliskII/src/Unix/configure.ac +++ b/BasiliskII/src/Unix/configure.ac @@ -135,6 +135,7 @@ fi AC_CHECK_FUNCS(pthread_cancel) AC_CHECK_FUNCS(pthread_mutexattr_setprotocol) AC_CHECK_FUNCS(pthread_mutexattr_settype) +AC_CHECK_FUNCS(pthread_mutexattr_setpshared) dnl If POSIX.4 semaphores are not available, we emulate them with pthread mutexes. SEMSRC= diff --git a/BasiliskII/src/Unix/main_unix.cpp b/BasiliskII/src/Unix/main_unix.cpp index 8bdbc4f8..4a637017 100644 --- a/BasiliskII/src/Unix/main_unix.cpp +++ b/BasiliskII/src/Unix/main_unix.cpp @@ -803,7 +803,9 @@ struct B2_mutex { #if defined(HAVE_PTHREAD_MUTEXATTR_SETTYPE) && defined(PTHREAD_MUTEX_NORMAL) pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); #endif +#ifdef HAVE_PTHREAD_MUTEXATTR_SETPSHARED pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_PRIVATE); +#endif pthread_mutex_init(&m, &attr); pthread_mutexattr_destroy(&attr); }