Int 21/AH=8Ch

Prev Next Ralf Interrups Categories Contents

------

European MS-DOS 4.0 - SET SIGNAL HANDLER

AH = 8Ch
AL = signal number (see #01793)
BL = action (see #01794)
DS:DX -> signal handler (see #01795)

Return:
CF clear if successful AL = previous action ES:BX -> previous signal handler CF set on error AX = error code (01h,invalid SigNumber or Action) (see #01680 at AH=59h/BX=0000h)

Desc: Set the routine which will be invoked on a number of exceptional conditions

Note: All signals will be sent to the most recently installed handler

See Also: AH=8Dh

(Table 01793) Values for European MS-DOS 4.0 signal number: 01h SIGINTR Control-C or user defined interrupt key 08h SIGTERM program termination 09h SIGPIPE broken pipe 0Dh SIGUSER1 reserved for user definition 0Eh SIGUSER2 reserved for user definition

(Table 01794) Values for signal action: 00h SIG_DFL terminate process on receipt 01h SIG_IGN ignore signal 02h SIG_GET signal is accepted 03h SIG_ERR sender gets error 04h SIG_ACK acknowledge received signal and clear it, but don't change current setting

(Table 01795) Values signal handler is called with:. AL = signal number (see #01793). AH = signal argument

Return:
RETF, CF set: terminate process.

RETF, CF clear, ZF set:
Abort any interrupted system call with an error.

RETF, CF clear, ZF clear:
Restart any interrupted system call.

IRET:
Restart any interrupted system call

Note: The signal handler may also perform a nonlocal GOTO by resetting the stack pointer and jumping; before doing so, it should dismiss the signal by calling this function with BL=04h

Category: DOS Kernel - Int 21h - E

------

Prev Next Ralf Interrups Categories Contents