DosHoldSignal
Bindings: C, MASM
This call temporarily disables or enables signal processing for the
current process.
DosHoldSignal (ActionCode)
ActionCode (USHORT) - input
Disables or enables signals intended for the current process.
Value Definition
0 Signals are enabled
1 Signals are disabled.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
1 ERROR_INVALID_FUNCTION
Remarks
DosHoldSignal with ActionCode = 1 causes signal processing (except
central processing errors and numeric processor errors) to be postponed
until a DosHoldSignal with ActionCode = 0 is issued. Any signals that
occur while processing is disabled are recognized, but not accepted until
signal recognition is enabled.
To allow for nesting of requests, a count of the number of outstanding
DosHoldSignal requests with ActionCode = 1 are maintained.
DosHoldSignal is used by library routines, subsystems, and similar code
that lock critical sections or temporarily reserve resources needed to
prevent a signal from terminating a task. A process can have only one
signal handling address for each signal. Dynalink routines should not
have a signal handler (which might override a handler established by a
calling process).
Signals can be held for a short period and should be released and
re-held, if necessary. Their guidelines for proper use are similar to
hardware interrupt counterparts such as the CLI/STI instructions.
Family API Considerations
Some options operate differently in the DOS mode than in the OS/2 mode.
Therefore, the following restriction applies to DosHoldSignal when
coding for the DOS mode:
The only signal recognized in the DOS mode is SIGINTR (Ctrl-C) and
SIGBREAK. Only SIGINTR and SIGBREAK are turned off by this call.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs