{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CLOSEMAS863)}}
====== CLOSEMAS863 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BACKREAD|BACKREAD]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:FREEBAX|FREEBAX]], [[george:macro:GEOERR|GEOERR]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:MBC|MBC]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TRACEIF|TRACEIF]]
22CB ... SEG CLOSEMAS,863,SECTION FILE,CLOSE
22SQ ...#
23=6 ...# USE OF X7
23MG ...# --- -- --
244W ... BITDEFS 7,22,XBAUTO [AUTONOMOUS CLOSE
24G= ...#
24XQ #
25CB SEGENTRY K1CLOSEMAS,XENT1
25X2 ...#
26BL ...SFINDEXF
26W= ...#HAL FI+FINDEXF,0
27*W ...#
27TG #
28*6 # THIS ROUTINE UPDATES MASTER'S DIRECTORY ENTRY. IT IS ONLY ENTERED
28SQ ...# (FROM CLOSEND) WHEN AN ACTIVITY IS DOING A FULL 'CLOSE' ON MASTER.
29#B # ENSURES THAT ONLY ONE ACTIVITY IS REWRITING MASTER'S DIRECTORY ENTRY
29S2 ...# TIME BY SETTING B0 OF CTOPEN IN THE MASTER FCB BEFORE ENTERING CLOSE
2=?L #
2=R= XENT1
2=XN ... TRACEIF K6CLOSEMAS,99,299,7,MA [MASTER'S DIRECTORY BEING READ BY
2?46 ...#UNS CLOSESTATS
2?8J ...(
2?*2 ... LDN 0 1
2?FD ... ADS 0 CLSTAT5 [NO. OF READS OF MASTER'S DIRECTORY E
2?KW ...)
2?QG LDN 6 BTHREE
2#=6 LDN 4 ADMASTDIR
2#PQ ... BACKREAD ,BSBS,,EX6,EX4 [READ MASTER'S DIRECTORY ENTRY
2*9B MHUNTW 3,BSTB,BREAD
2*P2 ... LDX 1 BFILE [X1-> MASTER'S FCB (ASSUME IT IS 1ST
2B8L ... LDX 0 FLASTJAM(1)
2BN= ... STO 0 ELASTJAM(3) [UPDATE GMT OF LAST BS JAM
2C7W ... LDX 0 FGMTBS(1)
2CMG ... STO 0 EGMTBS(3) [UPDATE CURRENT GMT
2D76 ... MBC 1,BFALTB,BFALTR,BFDIRUPDATE [CLEAR 'FILE & BLOCKS ALTERED
2FL2 SMO A1(3)
2G5L ... LDN 2 A1(3) [SET X2->COPIES RECORD IN MASTER'S DI
2H4W LDX 4 FBLMOD(1)
2HJG SBN 4 FBLKS-A1-2
2J46 ... STO 4 0(2) [UPDATE BLOCKS RECORD HEADER
2JHQ ADN 2 1
2K3B ADN 1 BSPRE
2KH2 SMO 4
2L2L ... MOVE 1 511 [OVERWRITE COPIES RECORD WITH RES. NO
2LG= ... SBN 1 BSPRE [X1-> MASTER'S FCB
2L^W ... SMO FX1
2MFG ... LDX 0 SFINDEXF
2M^6 ...NIND [LOCATE FINDEXF BLOCK FOR :MASTER
2NDQ ... LDX 1 FPTR(1)
2NYB ... BXE 0 FILEPLUSFCB,XERRIND [GEOERR IF NO FINDEXF
2PD2 ... BXU 0 ATYPE(1),NIND [J IF NOT FINDEXF
2PXL ... ADX 2 4
2QC= ... SBN 2 1 [X2-> INDEX RECORD IN MASTER'S DIRECT
2QWW ... LDX 4 A1(1) [MOVE NEW INDEX RECORD TO MASTER'S DI
2W#= ADN 1 A1
2WRW SMO 4
2X?G MOVE 1 0
2Y=Q SMO 4
2YQB ... STOZ 0(2) [SET ZERO AT END OF INDEX RECORD IN D
33N6 ADN 3 A1
33T# ... LDCT 0 #200
342G ... ERS 0 0(3) [INVERT MARKER TO SAY WE'VE CHANGED T
347Q LDN 4 GSBS/2(3)
34MB ... MOVE 3 GSBS/2 [DUPLICATE 1ST HALF OF DIR. ENTRY BLO
3572 ... BACKWRIT FREE,BSBS,TFAIL [REWRITE MASTER'S DIRECTORY ENTRY NON
35LL ... LDX 2 BFILE [X2-> MASTER'S FCB
366= ... JBC NOFREE,2,BFCARE [PERHAPS THERE COULD BE NO FMAPP
36KW ... LDX 0 FFSFMAPP
375G ...NEXTRY [LOCATE FILE/FMAPP BLOCK (IN X2)
3=3= LDX 2 FPTR(2)
3=GW ... BXU 0 ATYPE(2),NEXTRY
3?2G ... STOZ FBCOMM(2) [REINITIALIZE FMAPP BLOCK
3?G6 ... STOZ FBITS(2)
3?^Q ... JBS MASAUT,,XBAUTO [J IF IN AUTONOMOUS CLOSE
3#FB ... LDX 5 2 [X5-> FMAPP
3#^2 ... LDX 6 FFSFULLB
3*DL ... LDN 4 0 [ZEROISE COUNT OF FULLBS
3*Y= ...NEXTBS
3BCW ... SMO 5
3BXG ... LDX 2 FPTR
3CC6 ... BXU 6 ATYPE(2),TOFREE [J IF NEXT BLOCK NOT FULLB
3S5B CHAIN 2,FX2 [RECHAIN SPARE BS TO ACT
3SK2 BUX 4 NEXTBS
3T4L TOFREE
3TJ= ... BZE 4 NOFREE [J IF NO FULLBS TO FREE
3W3W NEXTFREE
3WHG FREEBAX [FREE IT
3X36 MFREEW BSTB,EMPTYB
3XGQ BCT 4 NEXTFREE
3Y2B NOFREE
3YG2 ... ACROSS CLOSEND,2 [NON-AUTONOMOUS CLOSE EXIT
3Y^L ...MASAUT
3^F= ... ACROSS CLOSEALT,5 [AUTONOMOUS CLOSE EXIT
3^YW ...#
42DG ...TFAIL
42Y6 ... GEOERR BRIEFPM,MAS FAIL [WRITE FAIL ON MASTER'S DIRECTORY ENT
43CQ ...XERRIND
43XB ... GEOERR BRIEFPM,NOMASIND [FI/FINDEXF BLOCK MISSING FOR :MASTER
45TW #END
^^^^ ...30130541000500000000