Skip to content

Commit

Permalink
hints/machten.sh: disable semctl(), align with devel version
Browse files Browse the repository at this point in the history
semctl(.., .., IPC_STATUS, ..) hangs the system on MachTen 4.1.  Here's a
patch to make hints/machten.sh assert that semctl() isn't available.  The
patch also brings the maintenance track hints file into line with that in
the development track, which is slightly more up-to-date.

p5p-msgid: v03110701b175fc029eb1@[195.95.102.115]
  • Loading branch information
Dominic Dunlop authored and Tim Bunce committed May 11, 1998
1 parent 875fefc commit ddd4d6b
Showing 1 changed file with 25 additions and 7 deletions.
32 changes: 25 additions & 7 deletions hints/machten.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
# Martijn Koster <m.koster@webcrawler.com>
# Richard Yeh <rcyeh@cco.caltech.edu>
#
# Use of semctl() can crash system: disable -- Dominic Dunlop 980506
# Raise stack size further; slight tweaks to accomodate MT 4.1
# -- Dominic Dunlop <domo@computer.org> 980211
# Raise perl's stack size -- Dominic Dunlop <domo@tcp.ip.lu> 970922
# Reinstate sigsetjmp iff version is 4.0.3 or greater; use nm
# (assumes Configure change); prune libswanted -- Dominic Dunlop 970113
Expand All @@ -37,7 +40,7 @@ nmopts=-gp
# Increase perl's stack size. Without this, lib/complex.t crashes out.
# Particularly perverse programs may require that perl has an even larger
# stack allocation than that specified here. (See man setstackspace )
ldflags='-Xlstack=0x014000'
ldflags='-Xlstack=0x018000'

# Install in /usr/local by default
prefix='/usr/local'
Expand All @@ -51,6 +54,9 @@ alignbytes=8
# friends. Use setjmp and friends instead.
expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='undef'

# semctl(.., .., IPC_STATUS, ..) hangs system: say we don't have semctl()
d_semctl='undef'

# Get rid of some extra libs which it takes Configure a tediously
# long time never to find on MachTen
set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \
Expand All @@ -61,6 +67,8 @@ set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \
shift
libswanted="$*"

# While link counts on MachTen 4.1's fast file systems work correctly,
# on Macintosh Heirarchical File Systems, (and on HFS+)
# MachTen always reports ony two links to directories, even if they
# contain subdirectories. Consequently, we use this variable to stop
# File::Find using the link count to determine whether there are
Expand All @@ -71,11 +79,14 @@ dont_use_nlink=define

cat <<'EOM' >&4
Tests
io/fs test 4 and
op/stat test 3
may fail since MachTen does not return a useful nlinks field to stat
on directories.
During Configure, you may see the message
*** WHOA THERE!!! ***
The recommended value for $d_semctl on this machine was "undef"!
Keep the recommended value? [y]
Select the default answer: semctl() is buggy, and perl should be built
without it.
At the end of Configure, you will see a harmless message
Expand All @@ -84,5 +95,12 @@ Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
Propagating recommended variable nmopts
Read the File::Find documentation for more information about dont_use_nlink
Tests
io/fs test 4 and
op/stat test 3
may fail since MachTen may not return a useful nlinks field to stat
on directories.
EOM
test -r ./broken-db.msg && . ./broken-db.msg
expr "$osvers" \< "4.1" >/dev/null && test -r ./broken-db.msg && \
. ./broken-db.msg

0 comments on commit ddd4d6b

Please sign in to comment.