[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Portability problems in autoconf manual
From: |
jens . schmidt35 |
Subject: |
Portability problems in autoconf manual |
Date: |
Wed, 29 Apr 2009 11:40:07 +0200 (CEST) |
Hi.
I am referring to the autoconf manual that I found on savannah.org under path
/autoconf/manual/autoconf-2.63.
Issue 1:
---------
There it says in section "Limitation of Shell Builtins":
Posix says that trap - 1 2 13 15 resets the traps for the specified signals
to
their default values, but many common shells (e.g., Solaris /bin/sh)
misinterpret
this and attempt to execute a command named - when the specified
conditions arise. There is no portable workaround, except for trap - 0, for
which trap 0 is a portable substitute.
I do not entirely agree with the latter statement. It seems that 'trap 1 2 13
15' (without any command) reset the traps in a reasonably portable way, as
documented also in the sh man pages. I tested the following on AIX, HP-UX
(SPARC & x86-64), HP-UX (PA-RISC & IA64), Tru64, Linux (x86, x86-64, IA64, PPC)
(yes, I wanted to show off a bit):
$ /bin/sh -c 'trapped=0; trap "echo trapped; trapped=1" 1 2 3 15; while true;
do sleep 1; if test $trapped = 1;
then trap 1 2 3 15; fi; done' &
[1] 1548526
$ kill -15 1548526
$ trapped
$ kill -15 1548526
$
[1]+ Terminated /bin/sh -c 'trapped=0; trap "echo trapped;
trapped=1" 1 2 3 15; while true; do sleep 1; if test
$trapped = 1; then trap 1 2 3 15; fi; done'
Issue 2:
---------
On Solaris 9, /bin/sh does not execute a trap on exit if in a parenthesised
sub-shell if the last command is not a built-in:
$ ( trap "echo foo" 0; :; true )
$ ( trap "echo foo" 0; true; : )
foo
Of course, the error diagnosis may not entirely precise. Better it would be to
say: "On Solaris 9, /bin/sh may not execute a trap on exit if the trap is
defined in a parenthesised sub-shell."
A workaround may be to always exit explicitly with "exit $?" from the sub-shell.
Regards
Jens
Arcor.de Gaming Area - kostenfrei daddeln bis der Arzt kommt!
Jetzt checken und aus über 80 Spielen wählen!
http://www.arcor.de/footer-gaming/
- Portability problems in autoconf manual,
jens . schmidt35 <=