*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<AST>,SORD,ASTSIZ$);
END
END
END
END # NVFSTIM #
TERM