POSIX siginfo

David Xu bsddiy at 126.com
Wed Oct 12 20:23:32 PDT 2005


I am trying to implement POSIX sigqueue, while staring some code
in machdep.c and trap.c, I found our si_code for siginfo structure
is not in POSIX standard, all are machine dependent magical values
pushed by CPU. POSIX lists all these standard codes:

http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html

/* codes for SIGILL */
ILL_ILLOPC
ILL_ILLOPN
ILL_ILLADR
ILL_ILLTRP
ILL_PRVOPC
ILL_PRVREG
ILL_COPROC
ILL_BADSTK

/* codes for SIGBUS */
BUS_ADRALN
BUS_ADRERR
BUS_OBJERR
BUS_RESERVED

/* codes for SIGSEGV */
SEGV_MAPERR
SEGV_ACCERR

/* codes for SIGFPE */
FPE_INTOVF      1
FPE_INTDIV      2
FPE_FLTDIV      3
FPE_FLTOVF      4
FPE_FLTUND      5
FPE_FLTRES      6
FPE_FLTINV      7
FPE_FLTSUB      8

/* codes for SIGTRAP */
TRAP_BRKPT
TRAP_TRACE

...

Note that, NetBSD and Linux had already used the POSIX codes, should we
use them too?

David Xu



More information about the freebsd-arch mailing list