summaryrefslogtreecommitdiffhomepage
path: root/auto/os/freebsd
diff options
context:
space:
mode:
Diffstat (limited to 'auto/os/freebsd')
-rw-r--r--auto/os/freebsd20
1 files changed, 19 insertions, 1 deletions
diff --git a/auto/os/freebsd b/auto/os/freebsd
index 5fa8e33e3..2d3353e1e 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -54,11 +54,29 @@ if [ \( $version -lt 500000 -a $version -ge 430000 \) \
-o $version -ge 500018 ]
then
echo " + using kqueue's NOTE_LOWAT"
-
have=HAVE_LOWAT_EVENT . auto/have
fi
+if [ $USE_THREADS = "rfork" ]; then
+
+ echo " + using rfork()"
+
+ # kqueue's EVFILT_SIGNAL is safe
+
+ if [ $version -gt 460101 ]; then
+ echo " + kqueue's EVFILT_SIGNAL is safe"
+ have=HAVE_SAFE_EVFILT_SIGNAL . auto/have
+ else
+ echo "$0: error: the kqueue's EVFILT_SIGNAL is unsafe on this"
+ echo "FreeBSD version, so --with-threads=rfork could not be used"
+ echo
+
+ exit 1
+ fi
+fi
+
+
if [ $EVENT_AIO = YES ]; then
have=HAVE_AIO . auto/have
EVENT_MODULES="$EVENT_MODULES $AIO_MODULE"