*DECK IPISPSI USETEXT TEXTIPL PROC IPISPSI; *CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992. # TITLE IPISPSI - PROCESS SHUT/INSD SUPERVISORY MESSAGE. # BEGIN # IPISPSI # # **** IPISPSI PROCESS SHUT/INSD SUPERVISORY MESSAGE. * * THIS PROCEDURE PROCESSES A SHUT/INSD SUPERVISORY MESSAGE. * * PROC IPISPSI * * ENTRY P = PTR TO SUPERVISORY MESSAGE (*INPBUF*). * * EXIT * * METHOD IF THE SHUTDOWN REQUEST IS IMMEDIATE, CALL NETOFF. * IF THE SHUTDOWN REQUEST IS IDLE, ABORT THE OPEN * CONNECTIONS AND THEN CALL NETOFF. * STOP THE APPLICATION. # # **** PROC IPISPSI - XREF LIST # XREF BEGIN PROC IPINITH; # NAM INPUT TRAFFIC HANDLER # PROC IPPABOS; # ABORT SOCKET # PROC IPPENDN; # END NETWORK CONNECTION # PROC MESSAGE; # DISPLAY AND DAYFILE A MESSAGE # END # ** # ITEM ACN I; # CONNECTION NUMBER # ITEM ACNSTAT S:SOCKSTAT; # SOCKET STATUS # ARRAY ENDMSG [00:00] S(3); BEGIN ITEM END$TEXT C(00,00,24) = ["IPP-OPERATOR TERMINATED."]; ITEM END$ZBYTE U(02,24,36) = [0]; END CONTROL EJECT; # **** START MAIN PROCEDURE # IF NOT SHUTF [0] THEN BEGIN # IDLE DOWN REQUESTED # FOR ACN = MINACN$ STEP 1 UNTIL MAXACN$ DO BEGIN # ABORT OPEN CONNECTIONS # IF ACN$CONNECT [ACN] THEN BEGIN IPPABOS (ACN, ACNSTAT); END END # ABORT OPEN CONNECTIONS # BLOCK = FALSE; # NON-BLOCKING MODE FOR INPUT # FOR ACN = 0 WHILE (NUMACN GR 0) DO BEGIN IPINITH; # CLEAR OUT INPUT QUEUE # END END # IDLE DOWN REQUESTED # MESSAGE (ENDMSG [0], 0); IPPENDN; # CALL NETOFF TO TERMINATE # STOP; # CONTROL DOES NOT RETURN # END # IPISPSI # TERM