This procedure implements the “signal” system call.
If the interrupt reason is out of range or is equal to “SIGKILL” (9), take an error exit;
Capture the initial value in “u.u_signal[a]” for return as the result of the system call;
Set the element of “u.u_signal” to the desired value ...
If an interrupt for the current reason is pending, cancel it. (It is not clear why this step should be necessary or even desirable. Any suggestions??)