HPlogo Interprocess Communication: Programmer's Guide: HP 3000 MPE/iX Computer Systems > Chapter 6 Software Interrupts

Disarming Software Interrupts

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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.

Feedback to webmaster