User Tools

Site Tools


cdc:nos2.source:nam5871:cscpnq

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
  1. *DECK CSCPNQ
  2. USETEXT TEXTCS
  3. USETEXT TXTAPSS
  4. PROC CSCPNQ ((NACN), MSGFLAG);
  5. # TITLE CSCPNQ - PURGE NOP QUEUE. #
  6.  
  7. BEGIN # CSCPNQ #
  8. #
  9. ** CSCPNQ - PURGE NOP QUEUE.
  10. *
  11. * D. G. DEPEW. 82/05/28.
  12. *
  13. * THIS PROCEDURE DELETES ALL WAITING BLOCK QUEUE (*WBQ*) ENTRIES
  14. * FOR THE SPECIFIED NOP (IF THERE ARE ANY).
  15. *
  16. * PROC CSCPNQ (NACN, MSGFLAG)
  17. *
  18. * ENTRY 1. NACN = ACN FOR THE NOP IN QUESTION.
  19. * (THIS IS ALSO THE ORDINAL OF THE ACN LIST ENTRY
  20. * FOR THIS NOP. THE ACN LIST ENTRY CONTAINS ALL
  21. * REQUIRED INFORMATION - NAMELY, THE COUNT OF
  22. * *WBQ* ENTRIES.)
  23. * 2. THE *WBQ* CONTAINS ZERO OR MORE ENTRIES FOR THE GIVEN
  24. * NOP.
  25. *
  26. * EXIT 1. ALL *WBQ* ENTRIES FOR THIS NOP HAVE BEEN DELETED.
  27. * 2. THE COUNT OF *WBQ* ENTRIES IN THE ACN LIST ENTRY FOR
  28. * THE GIVEN NOP HAS BEEN CLEARED.
  29. * 3. MSGFLAG = TRUE, IF AN *MSG* BLOCK WAS QUEUED.
  30. * = FALSE, IF ONLY *BLK* OR NO BLOCKS WERE
  31. * QUEUED.
  32. #
  33.  
  34. #
  35. **** PROC CSCPNQ - XREF LIST.
  36. #
  37. XREF
  38. PROC SSTRTS; # REMOVE TABLE SPACE #
  39. #
  40. ****
  41. #
  42.  
  43.  
  44. ITEM NACN; # NOP"S ACN #
  45. ITEM MSGFLAG B; # RETURN PARAMETER, TRUE=MSG, FALSE=BLK #
  46. ITEM I, J; # LOOP INDUCTION VARIABLES AND ORDINALS #
  47.  
  48.  
  49.  
  50.  
  51.  
  52. #
  53. * DELETE THE ENTRIES. IN ORDER TO DELETE AN ENTRY, WE MUST FIRST
  54. * LOCATE IT. CLEAR THE WAITING BLOCK COUNT IN THE ACN LIST ENTRY.
  55. #
  56. MSGFLAG = FALSE;
  57. J = 0;
  58. FOR I=1 STEP 1 UNTIL ACN$WBCNT[NACN]
  59. DO # FIND AND DEL NOP'S *WBQ* NTRYS, ZERO OK #
  60. BEGIN
  61. FOR J=J STEP WBQ$ESIZE[J]
  62. WHILE WBQ$ABHACN[J] NQ NACN
  63. DO # FIND NOP"S *WBQ* ENTRY #
  64. BEGIN END
  65.  
  66. IF WBQ$ABT[J] EQ APMSG
  67. THEN
  68. MSGFLAG = TRUE;
  69. SSTRTS (P<WBQ>, J, WBQ$ESIZE[J]); # DELETE WAITING BLOCK #
  70. END
  71. ACN$WBCNT[NACN] = 0; # UPDATE ACN LIST ENTRY #
  72.  
  73. END # CSCPNQ #
  74.  
  75. TERM
cdc/nos2.source/nam5871/cscpnq.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator