Signals



unix:signal signal func [option] [function]

installs the signal handler func for signal. In BSD4.2 systems, signals caught during system call processing cause the system call to be retried. This means that if the process is issuing a read system call, signals are ignored. If option=2 is specified, signals are handled in the system-5 manner, which causes the system call to fail.


unix:kill pid signal [function]

sends a signal to a process named by pid.


unix:pause [function]

suspends execution of this process until a signal arrives.


unix:alarm time [function]

sends an alarm clock signal (SIGALRM 14) after time seconds. Calling unix:alarm with time=0 resets the alarm clock.


unix:ualarm time [function]

same as unix:alarm except that the unit of time is micro seconds. ualarm is not available on Solaris2 or on other Sys5 based systems.


unix:getitimer timer [function]

One Unix process is attached with three interval timers, i.e., a real-time timer that decrements as the real time passes, a virtual-timer that decrements as the process executes in the user space, and a prof-timer that decrements as the kernel executes on behalf of the user process. timer is either 0 (ITIMER_REAL), 1 (ITIMER_VIRTUAL), or 2(ITIMER_PROF). A list of two elements is returned, the value of the timer in second and the interval. Both are floating-point numbers.


unix:setitimer timer value interval [function]

sets value and interval in timer. timer is eiterh 0 (ITIMER_REAL), 1 (ITIMER_VIRTUAL), or 2(ITIMER_PROF). ITIMER_REAL delivers SIGALRM when value expires. ITIMER_VIRTUAL delivers SIGVTALRM, and ITIMER_PROF delivers SIGPROF.


unix:select inlist outlist exceptlist timeout [function]

inlist, outlist and exceptlist are bitvectors indicating file descriptors whose I/O events should be tested. For example, if inlist=#b0110, outlist=#b100, and exceptlist=NIL, then whether it is possible to read on fd=1 or 2, or to write on fd=2 is tested. Timeout specifies seconds for which select is allowed to wait. Immediately after incoming data appear on one of the ports specified in inlist, or writing become available on one of the ports specified in outlist, or exceptional condition arises in one of the ports specified in exceptlist, select returns the number of ports that are available for I/O operation, setting ones for the possible port s in each of inlist, outlist and exceptlist.


unix:select-read-fd read-fdset timeout [function]

I/O selection is usually meaningful only for input operation. unix:select-read-fd is a short-hand for select fdset nil nil timeout. Read-fdset is not a bit-vector, but an integer that specifies the reading fd set.


k-okada 2013-05-21