1N/A * Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers. 1N/A * All rights reserved. 1N/A * By using this file, you agree to the terms and conditions set 1N/A * forth in the LICENSE file which can be found at the top level of 1N/A * the sendmail distribution. 1N/A#
pragma ident "%Z%%M% %I% %E% SMI" 1N/A#
endif /* SM_CONF_SETITIMER */ 1N/A** SM_SIGNAL -- set a signal handler 1N/A** This is essentially old BSD "signal(3)". 1N/A** NOTE: THIS CAN BE CALLED FROM A SIGNAL HANDLER. DO NOT ADD 1N/A** ANYTHING TO THIS ROUTINE UNLESS YOU KNOW WHAT YOU ARE 1N/A#
endif /* defined(SA_RESTART) || (!defined(SYS5SIGNALS) && !defined(BSD4_3)) */ 1N/A ** First, try for modern signal calls 1N/A ** and restartable syscalls 1N/A#
else /* USE_SA_SIGACTION */ 1N/A#
endif /* USE_SA_SIGACTION */ 1N/A#
else /* SA_RESTART */ 1N/A ** Else check for SYS5SIGNALS or 1N/A#
else /* defined(SYS5SIGNALS) || defined(BSD4_3) */ 1N/A ** Finally, if nothing else is available, 1N/A#
endif /* defined(SYS5SIGNALS) || defined(BSD4_3) */ 1N/A#
endif /* SA_RESTART */ 1N/A** SM_BLOCKSIGNAL -- hold a signal to prevent delivery 1N/A** sig -- the signal to block. 1N/A** 1 signal was previously blocked 1N/A** 0 signal was not previously blocked 1N/A#
endif /* ! sigmask */ 1N/A#
else /* ALTOS_SYSTEM_V */ 1N/A#
endif /* ALTOS_SYSTEM_V */ 1N/A** SM_RELEASESIGNAL -- release a held signal 1N/A** sig -- the signal to release. 1N/A** 1 signal was previously blocked 1N/A** 0 signal was not previously blocked 1N/A#
else /* ALTOS_SYSTEM_V */ 1N/A#
endif /* ALTOS_SYSTEM_V */ 1N/A** PEND_SIGNAL -- Add a signal to the pending signal list 1N/A** sig -- signal to add 1N/A** NOTE: THIS CAN BE CALLED FROM A SIGNAL HANDLER. DO NOT ADD 1N/A** ANYTHING TO THIS ROUTINE UNLESS YOU KNOW WHAT YOU ARE 1N/A#
endif /* SM_CONF_SETITIMER */ 1N/A ** Don't want to interrupt something critical, hence delay 1N/A ** the alarm for one second. Hopefully, by then we 1N/A ** will be out of the critical section. If not, then 1N/A ** we will just delay again. The events to be run will 1N/A ** still all be run, maybe just a little bit late. 1N/A /* don't have to pend these */ 1N/A /* If we get here, we are in trouble */ 1N/A /* shut up stupid compiler warning on HP-UX 11 */ 1N/A#
else /* SM_CONF_SETITIMER */ 1N/A#
endif /* SM_CONF_SETITIMER */ 1N/A** SM_ALLSIGNALS -- act on all signals 1N/A** block -- whether to block or release all signals. 1N/A#
endif /* ! sigmask */ 1N/A#
else /* ALTOS_SYSTEM_V */ 1N/A#
endif /* ALTOS_SYSTEM_V */ 1N/A** SM_SIGNAL_NOOP -- A signal no-op function 1N/A** sig -- signal received