It is possible to shut down software interrupt operation
and resume normal
WAIT or NOWAIT I/O on the message file.
If there was an I/O posted against
the file (that is, a software interrupt FREAD or
FWRITE that has not yet caused a software interrupt
and, therefore, has not
been completed by an IOWAIT or IODONTWAIT),
you need to use FCONTROL
with a controlcode of 43 to abort it,
just as in NOWAIT I/O.
If software interrupts were
disabled with FINTSTATE, the I/O completed,
and the interrupt postponed,
then FCONTROL with a controlcode of 43 returns a CCG.
This means that the I/O is too far along to be aborted.
Interrupts need
to be enabled to let the interrupt handler finish the request.
Take care to ensure that the interrupt handler does not
start another I/O, as this can cause a loop. (See the
sample program at the end of this chapter for a suggested
way to handle this.)
Using FCONTROL with a controlcode of 48, but
passing a zero instead of the plabel,
disarms the interrupt routines for the
file.
FCONTROL with a controlcode of 48 will return a
CCL if an I/O is pending.