summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/config/Make.rules9
-rw-r--r--cpp/include/IceUtil/Config.h6
-rw-r--r--cpp/src/IceUtil/Makefile2
-rw-r--r--cpp/src/IceUtil/MutexProtocol.cpp6
4 files changed, 15 insertions, 8 deletions
diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
index f7dc4912a5b..cdaaed94b0c 100644
--- a/cpp/config/Make.rules
+++ b/cpp/config/Make.rules
@@ -127,6 +127,11 @@ USE_READLINE ?= no
#
#CXXARCHFLAGS = -arch i386 -arch x86_64
+#
+# Default Mutex protocol: one of PrioNone or PrioInherit.
+#
+#DEFAULT_MUTEX_PROTOCOL ?= PrioNone
+
# ----------------------------------------------------------------------
# Don't change anything below this line!
# ----------------------------------------------------------------------
@@ -177,6 +182,10 @@ else
create_runpath_symlink = no
endif
+ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit)
+ ICEUTIL_FLAGS = -DPRIO_INHERIT
+endif
+
OPENSSL_FLAGS = $(if $(OPENSSL_HOME),-I$(OPENSSL_HOME)/include)
OPENSSL_LIBS = $(if $(OPENSSL_HOME),-L$(OPENSSL_HOME)/$(libsubdir)) -lssl -lcrypto
OPENSSL_RPATH_LINK = $(if $(OPENSSL_HOME),$(call rpathlink,$(OPENSSL_HOME)/$(libsubdir)))
diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
index 94e72f1380c..643b30bfcbf 100644
--- a/cpp/include/IceUtil/Config.h
+++ b/cpp/include/IceUtil/Config.h
@@ -241,10 +241,4 @@ public:
}
#endif
-
-//
-// The default Mutex protocol
-//
-#define ICE_DEFAULT_MUTEX_PROTOCOL PrioNone
-
#endif
diff --git a/cpp/src/IceUtil/Makefile b/cpp/src/IceUtil/Makefile
index 099c45e8e2c..875415f9b97 100644
--- a/cpp/src/IceUtil/Makefile
+++ b/cpp/src/IceUtil/Makefile
@@ -43,7 +43,7 @@ SRCS = $(OBJS:.o=.cpp)
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := $(CPPFLAGS) -DICE_UTIL_API_EXPORTS -I..
+CPPFLAGS := $(CPPFLAGS) $(ICEUTIL_FLAGS) -DICE_UTIL_API_EXPORTS -I..
LINKWITH := $(STLPORT_LIBS) $(ICEUTIL_OS_LIBS)
diff --git a/cpp/src/IceUtil/MutexProtocol.cpp b/cpp/src/IceUtil/MutexProtocol.cpp
index d181c0160ab..ab50c8cc420 100644
--- a/cpp/src/IceUtil/MutexProtocol.cpp
+++ b/cpp/src/IceUtil/MutexProtocol.cpp
@@ -7,6 +7,10 @@ IceUtil::getDefaultMutexProtocol()
#ifdef _WIN32
return PrioNone;
#else
- return ICE_DEFAULT_MUTEX_PROTOCOL;
+# if defined(PRIO_INHERIT) && defined(_POSIX_THREAD_PRIO_INHERIT) && _POSIX_THREAD_PRIO_INHERIT > 0
+ return PrioInherit;
+# else
+ return PrioNone;
+# endif
#endif
}