*DECK NVFSTIM USETEXT TEXTNVF USETEXT TXTAPSS PROC NVFSTIM; # TITLE NVFSTIM - STARTUP TIMEOUT # BEGIN # NVFSTIM # # ** NVFSTIM - STARTUP TIMEOUT * * M. GIBIAN 84/05/02 * * THIS PROCEDURE PROCESSES A TIMEOUT OF A REQUEST STARTABLE * APPLICATION THAT WAS STARTED BY NVF BUT HAS NOT NETTED ON WITHIN * THE REQUIRED TIME INTERVAL. * * PROC NVFSTIM * * ENTRY: * TIMEOUT ASQ ENTRY IN *MSGBUF* * * EXIT: * AST ENTRY FOR COPY OF REQUEST STARTABLE APPLICATION IS CLEARED * * METHOD: * SEARCH *AST* TABLE FOR A MATCH ON TIMER CANCEL NUMBER AND ABN * IN TIMEOUT MESSAGE. IF PRESENT, CLEAR ENTRY. * # XREF BEGIN PROC SSTRTS; # RELEASE TABLE SPACE # END ITEM MATCH B; # FLAG MATCH FOUND DURING SEARCH # ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE # ITEM PORD I; # PRIMARY AST ENTRY INDEX # ITEM SORD I; # SECONDARY AST ENTRY INDEX # # SEARCH AST FOR TIMER CANCEL NUMBER # MATCH = FALSE; NENTRY = ASTLNGTH / ASTSIZ$; # CALCULATE NUMBER OF ENTRIES # FOR SORD = 0 STEP 1 WHILE (NOT MATCH AND SORD LS NENTRY) DO BEGIN IF (AST$TCAN[SORD] EQ ABHABN[0]) THEN BEGIN MATCH = TRUE; # LOCATE PRIMARY AST ENTRY FOR THIS APPLICATION # FOR PORD = 0 STEP 1 WHILE (PORD LS (ASTLNGTH/ASTSIZ$) AND (AST$PANAM[PORD] NQ AST$SANAM[SORD])) DO BEGIN END AST$SNPF[PORD] = FALSE; IF AST$PANAM[SORD] NQ AST$SANAM[SORD] THEN BEGIN # RELEASE SECONDARY AST ENTRY FOR TIMED OUT APPLICATION # SORD = SORD * ASTSIZ$; SSTRTS(P,SORD,ASTSIZ$); END END END END # NVFSTIM # TERM