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); }