User Tools

Site Tools


cdc:nos2.source:nam5871:sscrtr

SSCRTR

Table Of Contents

  • [00003] PROC SSCRTR
  • [00004] SSCRTR - RETURN TIMER REQUEST.
  • [00008] RETURN TIMER REQUEST.
  • [00043] PROC SSTAQE
  • [00044] PROC SSTRQE

Source Code

SSCRTR.txt
  1. *DECK SSCRTR
  2. USETEXT TEXTSS
  3. PROC SSCRTR;
  4. # TITLE SSCRTR - RETURN TIMER REQUEST. #
  5.  
  6. BEGIN # SSCRTR #
  7. #
  8. ** SSCRTR - RETURN TIMER REQUEST.
  9. *
  10. * F. HOU. 81/09/11.
  11. *
  12. * ALL TIMER REQUESTS THAT HAVE FIRED ARE REMOVED FROM
  13. * TRQ1 TABLE AND PLACED IN THE REQUESTED QUEUE.
  14. *
  15. * PROC SSCRTR
  16. *
  17. * ENTRY NONE.
  18. *
  19. * EXIT ALL TIMER REQUESTS THAT HAVE FIRED ARE RETURNED
  20. * FOR PROCESSING VIA A Q ENTRY.
  21. *
  22. * NOTES NONE.
  23. *
  24. * METHOD
  25. *
  26. * DO ALL TIMER REQUESTS:
  27. * IF TRQ1 1ST ENTRY HAS FIRE-TIME GREATER THAN CURRENT TIME-OF-DAY,
  28. * THEN SET CTM FIRE-TIME TO THE FIRE-TIME OF TRQ1 FIRST ENTRY.
  29. * AND RETURN TO CALLER.
  30. * ELSE CALL SSTRQE TO REMOVE QUEUE(TRQ1) ENTRY.
  31. * CALL SSTAQE TO ACCEPT TRQ1 QUEUE ENTRY.
  32. * IF NO MORE TRQ1 ENTRIES, SET CTM FIRE-TIME TO 77777777.
  33. * RETURN TO CALLER.
  34. *
  35. #
  36.  
  37. #
  38. ****
  39. #
  40.  
  41. XREF
  42. BEGIN
  43. PROC SSTAQE; # ACCEPT QUEUE ENTRY #
  44. PROC SSTRQE; # REMOVE QUEUE ENTRY #
  45. END
  46.  
  47. #
  48. ****
  49. #
  50.  
  51. ITEM I U; # I IS A LOOP VARIABLE #
  52.  
  53. BASED ARRAY DUMMY [0:0] S(1);
  54. BEGIN
  55. ITEM DUMMYY U(00,00,60);
  56. END
  57.  
  58. CONTROL EJECT;
  59.  
  60. P<TRQ1>=SSTRQ[0]; # SET BASED ARRAY-TRQ1 POINTER. #
  61.  
  62. FOR I=0 WHILE SSTRQL[0] NQ 0 # ALL TIMER REQUESTS #
  63. DO
  64. BEGIN
  65. IF(TRQ1$FTIME[0] GR CTM$RTSEC[0]) # FTIME > CURRENT TIME #
  66. THEN
  67. BEGIN
  68. CTM$FTIME[0]=TRQ1$FTIME[0]; # SET FTIME TO TRQ1 FIRE TIME #
  69. RETURN;
  70. END
  71. ELSE
  72. BEGIN
  73. P<DUMMY>=TRQ1$QNUM[0];
  74.  
  75. SSTRQE(SSITRQ,WCBUF,ABHBUF,MSGBUF); # REMOVE QUEUE ENTRY #
  76.  
  77. SSTAQE(DUMMY,WCBUF,ABHBUF,MSGBUF); # ACCEPT QUEUE ENTRY #
  78. P<TRQ1> = SSTRQ[0]; # ALIGN *TRQ1* W/PROG'S MGD TBL #
  79. END
  80. END
  81.  
  82. IF (SSTRQL[0] EQ 0) # NO MORE QUEUE ENTRY #
  83. THEN
  84. BEGIN
  85. CTM$FTIME[0]=O"77777777"; # SET CTM FIRE-TIME TO 77777777 #
  86. END
  87.  
  88. END # SSCRTR #
  89.  
  90. TERM
cdc/nos2.source/nam5871/sscrtr.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator