summaryrefslogtreecommitdiff
path: root/mcon
diff options
context:
space:
mode:
authorH.Merijn Brand <h.m.brand@xs4all.nl>2016-12-09 15:23:01 +0100
committerRaphael Manfredi <Raphael_Manfredi@pobox.com>2016-12-09 15:23:01 +0100
commitbb6240c8e823af678db1668da579ba0de75d8936 (patch)
tree2a2ea5521d34c605adb03d3c57fbdefcdbee7d15 /mcon
parent774944e8132ad42466f4c93f29294eeed090a138 (diff)
disable semaphores on freebsd if not configured (#9)
I cannot find the original commit message to this fix in the perl tree, but - even if outdated - seems very legit
Diffstat (limited to 'mcon')
-rw-r--r--mcon/U/d_sem.U19
1 files changed, 18 insertions, 1 deletions
diff --git a/mcon/U/d_sem.U b/mcon/U/d_sem.U
index 14690c2..d4c59aa 100644
--- a/mcon/U/d_sem.U
+++ b/mcon/U/d_sem.U
@@ -12,7 +12,7 @@
?RCS: Revision 3.0 1993/08/18 12:07:03 ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
-?MAKE:d_sem: test d_semctl d_semget d_semop Setvar Findhdr
+?MAKE:d_sem: test d_semctl d_semget d_semop Setvar Findhdr osname
?MAKE: -pick add $@ %<
?S:d_sem:
?S: This variable conditionally defines the HAS_SEM symbol, which
@@ -32,6 +32,23 @@ echo " "
case "$d_semctl$d_semget$d_semop" in
*"$undef"*) h_sem=false;;
esac
+case "$osname" in
+freebsd)
+ case "`ipcs 2>&1`" in
+ "SVID messages"*"not configured"*)
+ echo "Your $osname does not have the sem*(2) configured." >&4
+ h_sem=false
+ val="$undef"
+ set semctl d_semctl
+ eval $setvar
+ set semget d_semget
+ eval $setvar
+ set semop d_semop
+ eval $setvar
+ ;;
+ esac
+ ;;
+esac
: we could also check for sys/ipc.h ...
if $h_sem && $test `./findhdr sys/sem.h`; then
echo "You have the full sem*(2) library." >&4