.TITLE BAPEXT .IDENT /V3.00/ .ENABL LC .NLIST BEX ;************************************************************************** ; ; BAPEXT.MAC ; ; This module is called when the Queue Manager sends an exit request. ; It may also be called if there is an initialization failure, or ; other fatal error. ; ;-------------------------------------------------------------------------- ; ; Version: V3.00 April 1983 ; ; Modification History ; ==================== ; ; ;-------------------------------------------------------------------------- ; ; Steve Thompson ; School of Chemical Engineering ; Olin Hall ; Cornell University ; Ithaca ; NY 14850 ; (607) 256 4616 (office) ; (607) 256 3895 (computer room) ; ;************************************************************************** .MCALL DSAR$S, DIR$, EXST$S ; ; Text messages. ; EXTMSG: .ASCII /Batch Processor / NAME: .ASCII /BAP0 / .ASCII /Exiting/ EXTSIZ=.-EXTMSG .EVEN .PAGE .SBTTL MAIN LINE CODE ;+ ; **-$EXTEP-Exit request processor. ; ; Normally there will be no active I/O or job executing when we ; come here; however, certain actions are taken in the event that ; we were called as the result of a fatal error somewhere. ; ;- $EXTEP::DIR$ #VTKILL ; Make sure no read posted MOV VTUCB,R0 ; Get batch stream UCB address BEQ 10$ ; If EQ we hadn't got that far CLR U.BTCB(R0) ; Say we've gone on holiday 10$: DSAR$S ; Disable AST recognition MOV #NAME,R0 ; Get place for task name MOV #TSKNAM,R1 ; Get task name address MOV #6,R2 ; Number of bytes to move 20$: MOVB (R1)+,(R0)+ ; Move a byte DEC R2 ; Done yet? BGT 20$ ; If GT no, loop MOV #EXTMSG,COWRIT+Q.IOPL ; Set up DPB for output MOV #EXTSIZ,COWRIT+Q.IOPL+2 ; DIR$ #COWRIT ; Send exiting message EXST$S EXSTAT ; Then exit .END