.pa 1
.he 'INTR (II)'3/15/72'INTR (II)'
.ti 0
NAME		intr  --  set interrupt handling
.s3
.ti 0
SYNOPSIS	sys intr; arg  / intr = 27.
.s3
.nf
intr(label)
int *label;
.fi
.s3
.ti 0
DESCRIPTION	When arg___ is 0,
interrupts (ASCII DELETE) are ignored.
When arg___ is 1,
interrupts cause their normal result, that is, force an exit____.
When arg___ is a location within the program, control is
transferred to that location when an interrupt occurs.
.s3
After an interrupt is caught, it is possible to resume
execution by means of an rti___ instruction; however, great
care must be exercised, since
all I/O is terminated abruptly upon an interrupt.
In particular, reads of the typewriter tend to return
with 0 characters read, thus simulating an end of file.
.s3
From C, the interface is slightly different.
An argument of 0 or 1 has the
afore-mentioned effect of suppressing and forcing termination on
interrupts respectively.
An argument which is a label causes control
to be sent to the label when an interrupt occurs;
however the stack is set to have the same value
as it did when intr____ was called;
thus control returns to the complete execution environment
pertaining at the time of the call to intr____.
It is an error to call intr____ in a subroutine
and return from that subroutine, since
if an interrupt occurs
control will be returned
to a non-existent
environment.
.s3
It is not possible (with the C version of this call)
to resume execution after an interrupt.
.s3
.ti 0
SEE ALSO	quit(II)
.s3
.ti 0
DIAGNOSTICS	--
.s3
.ti 0
BUGS		--
