In zmsignal.h you have defined: #define SIGNAL_RELEASE(SIG) \ sigsetmask(~sigmask(SIG) & sigblock(SIG_HOLD(sig))) This doesn't work on SunOS 4.1.3_U1, since SIG_HOLD is defined as #define SIG_HOLD (void (*)())3 Not sure what to suggest here... sdb