aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2016-08-14 19:00:12 -0400
committerGreg Hudson <ghudson@mit.edu>2016-08-16 11:51:12 -0400
commit615787708904fd3e472f3be4730cf17c8bba5891 (patch)
tree3b1dd2e869b357b92ef7dd9b40c11b41a1e967e4 /src/util
parent847fc7b3caa823c219c97cc307ccb8d7d519a20f (diff)
downloadkrb5-615787708904fd3e472f3be4730cf17c8bba5891.zip
krb5-615787708904fd3e472f3be4730cf17c8bba5891.tar.gz
krb5-615787708904fd3e472f3be4730cf17c8bba5891.tar.bz2
Allow libev to use pthreads on old platforms
The upgrade to libev 4.22 introduced the use of "memory fences" for more reliable signal processing. Memory fences are usually implemented using assembly or compiler primitives, but may be implemented using pthreads as a last resort. The unmodified libev errors out at compile time if pthreads is used, but notes that this error can be removed if relying on pthreads is okay. Because the project's nightly build infrastructure includes an old Solaris machine whose toolchain is too old for any of the non-pthreads memory fence implementations, remove the error to allow the build to succeed. (A dependency on pthreads functions on Solaris does not require linking with libpthread.)
Diffstat (limited to 'src/util')
-rw-r--r--src/util/verto/ev.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/util/verto/ev.c b/src/util/verto/ev.c
index cf55835..87f9067 100644
--- a/src/util/verto/ev.c
+++ b/src/util/verto/ev.c
@@ -1511,8 +1511,15 @@ ecb_binary32_to_binary16 (uint32_t x)
* alternatively, you can remove this #error and link against libpthread,
* which will then provide the memory fences.
*/
+/*
+ * krb5 change: per the comment below, we are allowing pthreads on platforms
+ * which are too old to have better memory thead support, as is the case on
+ * older Solaris versions.
+ */
+#if 0
# error "memory fences not defined for your architecture, please report"
#endif
+#endif
#ifndef ECB_MEMORY_FENCE
# define ECB_MEMORY_FENCE do { } while (0)