diff options
author | Greg Hudson <ghudson@mit.edu> | 2016-08-14 19:00:12 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2016-08-16 11:51:12 -0400 |
commit | 615787708904fd3e472f3be4730cf17c8bba5891 (patch) | |
tree | 3b1dd2e869b357b92ef7dd9b40c11b41a1e967e4 /src/util | |
parent | 847fc7b3caa823c219c97cc307ccb8d7d519a20f (diff) | |
download | krb5-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.c | 7 |
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) |