SUBROUTINE FERROR (ERRCOD) C CHST FLXIO.FLX -SUBROUTINE TO DEAL WITH FATAL I/O ERRORS C C$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ C C SUBROUTINE FERROR C C$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ C C C PURPOSE: C TO TYPE A MESSAGE AT THE TERMINAL AND THEN CLOSE ALL FILES C AND TERMINATE THE PROGRAM C C USAGE: C CALL FERROR (CODE) C C METHOD: C TYPE MESSAGE C STOP C C SUBPROGRAMS REQUIRED: C IFREEC -SYSLIB.OBJ C PURGE -SYSLIB.OBJ C PARAMETERS: C ERRCOD -CODE FOR ERROR TYPE C INPUT: C ERRCOD -SEE ABOVE C OUTPUT: C ERROR MESSAGE TO TERMINAL C C SIDE EFFECTS: C TERMINATES PROGRAM C C EDIT HISTORY: C BEGUN 1-JUN-80 BY R.CARTER BASED ON ROUTINE OF SAME NAME BY C G. SELTZER (PGT) C CHEN$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ C C IMPLICIT INTEGER (A-Z) INTEGER*2 LUN,LEN INTEGER*2 ERRCOD C INCLUDE "FLX:FLXSY3" $NOLIST INCLUDE "FLX:FLXSY3" $LIST SELECT (ERRCOD) (EREADE) CALL PRINT (' FLECS-F-Read error') FIN (EWRITE) CALL PRINT (' FLECS-F-Write error') FIN (ECLOSE) CALL PRINT (' FLECS-F-Error closing files') FIN (EWAITE) CALL PRINT (' FLECS-F-Wait error') FIN FIN DO (LUN=1,3) CHAN = OCHAN (LUN) D TYPE *,'ABOUT TO CLOSE CHANNEL ',CHAN IF ((CHAN .GE. 0) .AND. (CHAN .LT. 16)) CALL PURGE (CHAN) CALL IFREEC (CHAN) FIN FIN DO (I = 1,4) CHAN = FLXLUN(I) IF ((CHAN .GE. 0) .AND. (CHAN .LT. 16)) CALL PURGE (CHAN) CALL IFREEC (CHAN) FIN FIN STOP ' ?FATAL ERROR IN FLECS SEE MESSAGE ABOVE' END