cdc:nos2.source:nam5871:cscpnq
Table of Contents
CSCPNQ
Table Of Contents
- [00004] PROC CSCPNQ ((NACN), MSGFLAG)
- [00005] CSCPNQ - PURGE NOP QUEUE.
- [00009] PURGE NOP QUEUE.
- [00038] PROC SSTRTS
Source Code
- CSCPNQ.txt
- *DECK CSCPNQ
- USETEXT TEXTCS
- USETEXT TXTAPSS
- PROC CSCPNQ ((NACN), MSGFLAG);
- # TITLE CSCPNQ - PURGE NOP QUEUE. #
- BEGIN # CSCPNQ #
- #
- ** CSCPNQ - PURGE NOP QUEUE.
- *
- * D. G. DEPEW. 82/05/28.
- *
- * THIS PROCEDURE DELETES ALL WAITING BLOCK QUEUE (*WBQ*) ENTRIES
- * FOR THE SPECIFIED NOP (IF THERE ARE ANY).
- *
- * PROC CSCPNQ (NACN, MSGFLAG)
- *
- * ENTRY 1. NACN = ACN FOR THE NOP IN QUESTION.
- * (THIS IS ALSO THE ORDINAL OF THE ACN LIST ENTRY
- * FOR THIS NOP. THE ACN LIST ENTRY CONTAINS ALL
- * REQUIRED INFORMATION - NAMELY, THE COUNT OF
- * *WBQ* ENTRIES.)
- * 2. THE *WBQ* CONTAINS ZERO OR MORE ENTRIES FOR THE GIVEN
- * NOP.
- *
- * EXIT 1. ALL *WBQ* ENTRIES FOR THIS NOP HAVE BEEN DELETED.
- * 2. THE COUNT OF *WBQ* ENTRIES IN THE ACN LIST ENTRY FOR
- * THE GIVEN NOP HAS BEEN CLEARED.
- * 3. MSGFLAG = TRUE, IF AN *MSG* BLOCK WAS QUEUED.
- * = FALSE, IF ONLY *BLK* OR NO BLOCKS WERE
- * QUEUED.
- #
- #
- **** PROC CSCPNQ - XREF LIST.
- #
- XREF
- PROC SSTRTS; # REMOVE TABLE SPACE #
- #
- ****
- #
- ITEM NACN; # NOP"S ACN #
- ITEM MSGFLAG B; # RETURN PARAMETER, TRUE=MSG, FALSE=BLK #
- ITEM I, J; # LOOP INDUCTION VARIABLES AND ORDINALS #
- #
- * DELETE THE ENTRIES. IN ORDER TO DELETE AN ENTRY, WE MUST FIRST
- * LOCATE IT. CLEAR THE WAITING BLOCK COUNT IN THE ACN LIST ENTRY.
- #
- MSGFLAG = FALSE;
- J = 0;
- FOR I=1 STEP 1 UNTIL ACN$WBCNT[NACN]
- DO # FIND AND DEL NOP'S *WBQ* NTRYS, ZERO OK #
- BEGIN
- FOR J=J STEP WBQ$ESIZE[J]
- WHILE WBQ$ABHACN[J] NQ NACN
- DO # FIND NOP"S *WBQ* ENTRY #
- BEGIN END
- IF WBQ$ABT[J] EQ APMSG
- THEN
- MSGFLAG = TRUE;
- SSTRTS (P<WBQ>, J, WBQ$ESIZE[J]); # DELETE WAITING BLOCK #
- END
- ACN$WBCNT[NACN] = 0; # UPDATE ACN LIST ENTRY #
- END # CSCPNQ #
- TERM
cdc/nos2.source/nam5871/cscpnq.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator