I was just looking at the signal numbers in runtime/Jlib/foreign.java. The values for SIGQUIT and SIGINT are reversed, and several of the others are system-dependent. For example, the values of signals up to number 31 would look like this on BSD systems:
public static final int SIGHUP = 1;
public static final int SIGINT = 2;
public static final int SIGQUIT = 3;
public static final int SIGILL = 4;
public static final int SIGTRAP = 5;
public static final int SIGABRT = 6;
public static final int SIGEMT = 7;
public static final int SIGFPE = 8;
public static final int SIGKILL = 9;
public static final int SIGBUS = 10;
public static final int SIGSEGV = 11;
public static final int SIGSYS = 12;
public static final int SIGPIPE = 13;
public static final int SIGALRM = 14;
public static final int SIGTERM = 15;
public static final int SIGURG = 16;
public static final int SIGSTOP = 17;
public static final int SIGTSTP = 18;
public static final int SIGCONT = 19;
public static final int SIGCHLD = 20;
public static final int SIGTTIN = 21;
public static final int SIGTTOU = 22;
public static final int SIGIO = 23;
public static final int SIGXCPU = 24;
public static final int SIGXFSZ = 25;
public static final int SIGVTALRM = 26;
public static final int SIGPROF = 27;
public static final int SIGWINCH = 28;
public static final int SIGINFO = 29;
public static final int SIGUSR1 = 30;
public static final int SIGUSR2 = 31;
and like this on Linux systems:
public static final int SIGHUP = 1;
public static final int SIGINT = 2;
public static final int SIGQUIT = 3;
public static final int SIGILL = 4;
public static final int SIGTRAP = 5;
public static final int SIGABRT = 6;
public static final int SIGBUS = 7;
public static final int SIGFPE = 8;
public static final int SIGKILL = 9;
public static final int SIGUSR1 = 10;
public static final int SIGSEGV = 11;
public static final int SIGUSR2 = 12;
public static final int SIGPIPE = 13;
public static final int SIGALRM = 14;
public static final int SIGTERM = 15;
public static final int SIGSTKFLT = 16;
public static final int SIGCHLD = 17;
public static final int SIGCONT = 18;
public static final int SIGSTOP = 19;
public static final int SIGTSTP = 20;
public static final int SIGTTIN = 21;
public static final int SIGTTOU = 22;
public static final int SIGURG = 23;
public static final int SIGXCPU = 24;
public static final int SIGXFSZ = 25;
public static final int SIGVTALRM = 26;
public static final int SIGPROF = 27;
public static final int SIGWINCH = 28;
public static final int SIGPOLL = 29;
public static final int SIGPWR = 30;
public static final int SIGSYS = 31;
I was just looking at the signal numbers in runtime/Jlib/foreign.java. The values for SIGQUIT and SIGINT are reversed, and several of the others are system-dependent. For example, the values of signals up to number 31 would look like this on BSD systems:
and like this on Linux systems: