Source Compatibility Guide

Signals

The SunOS 4.1 signal handlers and default actions are different from the SunOS 5.x signals.

The following routines are in the compatibility package:

The SunOS 4.1 style of signal handling is provided in the compatibility package. These routines invoke existing SunOS 5.x signal handling routines. These routines reside in libucb.

_longjmp, longjmp, _setjmp, and setjmp

In the SunOS 4.1 release, setjmp and longjmp save and restore the signal mask. This functionality has been preserved with the sigsetjmp and siglongjmp signals, respectively.

psignal

In the SunOS 4.1 release, psignal flushes stdio buffers. The SunOS 5.x version of psignal does not. This behavior has been preserved in the compatibility version.

sigblock and sigsetmask

In the SunOS 4.1 release, sigblock blocks a signal; sigsetmask sets a signal mask. sigblock and sigsetmask call the sigprocmask(2) system call.

siginterrupt, signal, sigvec and sigaction

In the SunOS 4.1 release, siginterrupt is a library function that allows signal interruptions; signal is a library function for simplified signal processing. Both now call sigvec, which itself calls the sigaction routine.

sigpause

Releases block signals; waits for interrupts. Implemented in the compatibility package through sigsuspend.