The bsd signal names are out-of-order compared to the minix ones.
I found out (the hard way) that the (MINIX-descending) ordered list of
signals in <sys/signal.h> does not match the (BSD-descending) ordered
list of signals in usr/src/lib/libc/nbsd_libc/gen/sig{name,list}.c
Beyond being unfortunate, it prevents the trap command of ash to handle
correctly a named signal; a funny test case is
#!/bin/sh
trap 'echo trapping signal BUS' BUS
trap 'echo trapping signal 10 (USR1)' 10
trap # show me what is currently trapped
As a quick workaround, I disabled the use of the libc-provided
sys_sig{name,list} arrays for ash, and reverted to the hand-made array
which is used by the less capable MINIX libc. It allowed me to use
pkgsrc.
|
||
|---|---|---|
| .. | ||
| bltin | ||
| funcs | ||
| alias.c | ||
| alias.h | ||
| arith_lex.h | ||
| arith_lex.l | ||
| arith.y | ||
| builtins | ||
| builtins.def | ||
| cd.c | ||
| cd.h | ||
| complete.c | ||
| complete.h | ||
| errmsg.c | ||
| errmsg.h | ||
| error.c | ||
| error.h | ||
| eval.c | ||
| eval.h | ||
| exec.c | ||
| exec.h | ||
| expand.c | ||
| expand.h | ||
| histedit.c | ||
| init.h | ||
| input.c | ||
| input.h | ||
| jobs.c | ||
| jobs.h | ||
| machdep.h | ||
| mail.c | ||
| mail.h | ||
| main.c | ||
| main.h | ||
| Makefile | ||
| memalloc.c | ||
| memalloc.h | ||
| miscbltin.c | ||
| mkbuiltins | ||
| mkinit.c | ||
| mknodes.c | ||
| mksignames.c | ||
| mksyntax.c | ||
| mktokens | ||
| myhistedit.h | ||
| mystring.c | ||
| mystring.h | ||
| nodes.c.pat | ||
| nodetypes | ||
| options.c | ||
| options.h | ||
| output.c | ||
| output.h | ||
| parser.c | ||
| parser.h | ||
| redir.c | ||
| redir.h | ||
| setmode.c | ||
| shell.h | ||
| show.c | ||
| show.h | ||
| TOUR | ||
| trap.c | ||
| trap.h | ||
| var.c | ||
| var.h | ||