Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - qsrt10.c08
There is 1 other file named qsrt10.c08 in the archive. Click here to see a list.
 REP 44/19	;08C1
		TXO	S2,UC.AVA+UC.AVR	;DEFAULT TO 'AVAILABLE' + AVR
 WIT
	;**;[1151]CHANGE 1 LINE AT GATR.1:+39	15-SEP-83/CTK
		TXO	S2,UC.AVA		;[1151]DEFAULT TO 'AVAILABLE'
 DEL 15/21	;08C2
 REP 7/25	;08C3
	I$SLCM:	LOAD	S1,.MSTYP(M),MS.CNT	;GET THE MONITOR MESSAGE LENGTH
		SUBI	S1,2			;DELETE HEADER AND JOB NBR LENGTHS
		JUMPLE	S1,.RETT		;NOTHING THERE,,GO FINISH UP
		PUSHJ	P,.SAVE3		;SAVE P1 - P3 FOR A MINUTE
		$SAVE	<M>			;SAVE M ALSO
		MOVE	P2,S1			;SAVE THE STRUCTURE COUNT IN P2
		MOVE	S1,1(M)			;GET THE JOBS JOB NUMBER
		PUSHJ	P,D$FMDR##		;LOCATE ITS MDR
		JUMPT	SLCM.0			;FOUND,,CONTINUE
		HRL	S1,1(M)			;GET THE JOB NUMBER BACK
		HRRI	S1,.GTLIM		;GET LIMITS WORD
		GETTAB	S1,			;READ JOBS LIMITS
		$RETT				;FAILED,,RETURN
		LOAD	S1,S1,JB.LBT		;IS THIS A BATCH REQUEST ?
		JUMPN	S1,.RETT		;YES,,IGNORE FOR NOW
		SETZM	AP			;NO MDR YET !!!

	SLCM.0:	PUSHJ	P,REMSTR		;GET RID OF DELETED STRUCTURES
 WIT
	I$SLCM:
	;**;[1155]REVAMP CODE AT I$SLCM:	7-NOV-83/CTK
		PUSHJ	P,.SAVE3		;[1155]SAVE P1 - P3 FOR A MINUTE
		$SAVE	<M>			;[1155]SAVE M ALSO
		MOVE	S1,1(M)			;[1155]GET THE JOBS JOB NUMBER
		PUSHJ	P,D$FMDR##		;[1155]LOCATE ITS MDR
		JUMPT	SLCM.0			;[1155]FOUND,,CONTINUE
		HRL	S1,1(M)			;[1155]GET THE JOB NUMBER BACK
	;**;[1172] Change 1 line and replace 2 lines at I$SLCM+10L. /LWS
		HRRI	S1,.GTOBI		;[1172] GET BATCH/WTOR WORD
		GETTAB	S1,			;READ JOBS LIMITS
		$RETT				;FAILED,,RETURN
		TXNE	S1,OB.BSS		;[1172] IS THIS A BATCON BATCH JOB?
		$RETT				;[1172] YES,,LEAVE
		SETZM	AP			;[1155]NO MDR YET !!!

	SLCM.0:	PUSHJ	P,REMSTR		;[1155]GET RID OF DELETED STRUCTURES
		LOAD	P2,.MSTYP(M),MS.CNT	;[1155]GET THE MONITOR MESSAGE LENGTH
		SUBI	P2,2			;[1155]DELETE HEADER AND JOB NBR LENGTHS
		JUMPLE	P2,.RETT		;[1155]STRUCTURE COUNT ZERO, RETURN
 INS 31/27	;08C4
		SETZB	S1,.MRFLG(AP)		;[1173] MAKE SURE MDR ACK FLAGS LOOK VALID
 INS 34/27	;08C5
		SETOM	S2			;[1173] USE MDR ACK FLAGS!
 REP 32/28	;08C6
		MOVE	S2,P1			;GET THE STRUCTURE COUNT IN S2
		MOVEI	P3,2(M)			;POINT TO THE SEARCH LIST
		CAMN	S1,0(P3)		;FIND THE USERS STRUCTURE
		JRST	REMS.2			;IF FOUND,,THEN ALLS OK
		AOS	P3			;ELSE POINT TO THE NEXT STRUCTURE
		SOJG	S2,.-3			;AND CONTINUE LOOKING
		PUSH	P,0(P2)			;NOT THERE,,HE MUST HAVE DELETED IT
 WIT
	;**;[1160]REVAMP CODE AT REMS.1:+13L	20-NOV-83/CTK
		MOVEI	P3,2(M)			;[1160]POINT TO THE SEARCH LIST
		MOVE	S2,P1			;[1160]GET THE STRUCTURE COUNT IN S2
	REM.1A:	JUMPLE	S2,REM.1B		;[1160]ANY MORE ????
		CAMN	S1,0(P3)		;[1160]FIND THE USERS STRUCTURE
		 JRST	REMS.2			;[1160]IF FOUND,,THEN ALLS OK
		AOS	P3			;[1160]POINT TO THE NEXT STRUCTURE
		SOS	S2			;[1160]DECREMENT THE STRUCTURE COUNT
		 JRST	REM.1A			;[1160]AND LOOP
	REM.1B:	PUSH	P,0(P2)			;NOT THERE,,HE MUST HAVE DELETED IT
 REP 44/28	;08C7
		CAME	S1,[-1]			;DONE ???
		JRST	[PUSHJ P,D$DVSL##	;NO,,DELETE THE VSL
			 JRST  REMS.3   ]	;CONTINUE TILL DONE
		LOAD	S1,.MRCNT(AP),MR.CNT	;FINISHED,,GET THE REQUEST COUNT
 WIT
	;**;[1153]REVAMP CODE AT REMS.3:+1L	18-OCT-83/CTK
		CAMN	S1,[-1]			;[1153]DONE ???
		 JRST	REMS.4			;[1153]YES!!!
		PUSH	P,S1			;[1153]SAVE VSL FOR A MINUTE
		PUSHJ P,D$DVSL##		;[1153]NO,,DELETE THE VSL
		POP	P,S1			;[1153]RESTORE VSL POINTER
		MOVE	S1,.VSVOL(S1)		;[1153]GET THE PRIMARY VOL BLK ADDRESS
		PUSHJ 	P,D$CCHK##		;[1153]HANDLE LOCKED STRUCTURES
		 JRST  REMS.3   		;[1153]CONTINUE TILL DONE
	REMS.4:	LOAD	S1,.MRCNT(AP),MR.CNT	;[1153]FINISHED,,GET THE REQUEST COUNT
 REP 10/31	;08C8
		LOAD	S1,.EQROB+.ROBTY(P1)	;GET THE OBJECT TYPE
		STORE	S1,.MRFLG(AP),MR.QUE	;AND SAVE IT
 WIT
	;**;[1176] Change 1 line and delete 1 line at I$BMDR+53L. /LWS
		LOAD	S2,.EQROB+.ROBTY(P1)	;[1176] GET THE OBJECT TYPE
 INS 20/31	;08C9
		STORE	S2,.VSRFL(S1),MR.QUE	;[1176] STORE OBJECT TYPE
 REP 47/54	;08C10
		CAXE	S1,UGMGD$		;IS IT A DISMOUNT ???
		JRST	TMNT.1			;NO,,SEND THE MESSAGE OFF
		STKVAR	<<TAPB,20>>		;DISMOUNT,,GET SPACE FOR TAPOP BUFFER
		MOVEI	S2,TAPB			;GET THE BUFFER ADDRESS
		MOVX	S1,.TFSTA		;WANT TAPE STATISTICS FUNCTION
		MOVEM	S1,.TSFUN(S2)		;SAVE IT
		MOVE	S1,ACTSTR+UM$DEV	;GET DEVICE NAME
		MOVEM	S1,.TSDEV(S2)		;SAVE IT
		HRLI	S2,20			;GET BUFFER LENGTH
		TAPOP.	S2,			;ASK MONITOR FOR THE DATA
		JRST	TMNT.0			;NO GOOD,,SEND ZEROS
 WIT
		LOAD	S2,.MSTYP(M),MS.CNT	;[1165] GET LENGTH OF MESSAGE FROM MONITOR
		CAIN	S1,UGMGD$		;[1165] IS IT A DISMOUNT ???
		CAIG	S2,.TDMIN		;[1165] DOES IT CONTAIN NEW STATISTICS STUFF?
		JRST	TMNT.1			;NO,,SEND THE MESSAGE OFF
 REP 3/55	;08C11
		MOVE	S1,.TSCRD(S2)		;GET THE CHARACTERS READ
		MOVEM	S1,ACTSTR+UM$MRD	;SAVE IT
		MOVE	S1,.TSCWR(S2)		;GET THE CHARACTERS WRITTEN
		MOVEM	S1,ACTSTR+UM$MWR	;SAVE IT
		MOVE	S1,.TSREC(S2)		;GET THE RECORD COUNT
		MOVEM	S1,ACTSTR+UM$RRD	;SAVE IT
		MOVE	S1,.TSSRE(S2)		;GET SOFT READ ERRORS
		MOVEM	S1,ACTSTR+UM$SRE	;SAVE IT
		MOVE	S1,.TSSWE(S2)		;GET SOFT WRITE ERRORS
		MOVEM	S1,ACTSTR+UM$SWE	;SAVE IT
		MOVE	S1,.TSHRE(S2)		;GET HARD READ ERRORS
		MOVEM	S1,ACTSTR+UM$HRE	;SAVE IT
		MOVE	S1,.TSHWE(S2)		;GET HARD WRITE ERRORS
 WIT
		MOVE	S1,.TDCRD(M)		;[1165] GET THE CHARACTERS READ
		MOVEM	S1,ACTSTR+UM$MRD	;SAVE IT
		MOVE	S1,.TDCWR(M)		;[1165] GET THE CHARACTERS WRITTEN
		MOVEM	S1,ACTSTR+UM$MWR	;SAVE IT
		MOVE	S1,.TDSRE(M)		;[1165] GET SOFT READ ERRORS
		MOVEM	S1,ACTSTR+UM$SRE	;SAVE IT
		MOVE	S1,.TDSWE(M)		;[1165] GET SOFT WRITE ERRORS
		MOVEM	S1,ACTSTR+UM$SWE	;SAVE IT
		MOVE	S1,.TDHRE(M)		;[1165] GET HARD READ ERRORS
		MOVEM	S1,ACTSTR+UM$HRE	;SAVE IT
		MOVE	S1,.TDHWE(M)		;[1165] GET HARD WRITE ERRORS
 REP 39/59	;08C12
		CAXE	S1,UGDTD$		;IS IT A DISMOUNT ???
		JRST	DMNT.1			;NO,,SEND THE MESSAGE OFF
		SETZM	ACTSTR+UD$DRD		;CLEAR DECTAPE READS
		SETZM	ACTSTR+UD$DWR		;CLEAR DECTAPE WRITES
 WIT
		LOAD	S2,.MSTYP(M),MS.CNT	;[1165] GET LENGTH OF MESSAGE FROM MONITOR
		CAIN	S1,UGDTD$		;[1165] IS IT A DISMOUNT ???
		CAIG	S2,.TDMIN		;[1165] DOES IT CONTAIN NEW STATISTICS STUFF?
		JRST	DMNT.1			;NO,,SEND THE MESSAGE OFF
		MOVE	S1,.TDDTR(M)		;[1165] GET DECTAPE READS
		MOVEM	S1,ACTSTR+UD$DRD	;[1165] STORE
		MOVE	S1,.TDDTW(M)		;[1165] GET DECTAPE WRITES
		MOVEM	S1,ACTSTR+UD$DWR	;[1165] STORE
 REP 40/69	;08C13
		MOVX	S1,MM.WAT		;LITE WAITING FOR ACK BIT
		SKIPN	P2			;IS THIS A MOUNT REQUEST ???
		TXO	S1,MM.GFR		;YES,,LITE CREATED BY [SYSTEM]GOPHER
 WIT
	;**;[1170] Insert 2 lines and change 1 after MOUN.4+1L. 29-Dec-83 /LWS
		MOVX	S1,MM.GFR		;[1170] LITE "FROM [SYSTEM]GOPHER" BIT
		SKIPE	G$ACK##			;[1170] WAITING FOR ACK?
		TXO	S1,MM.WAT		;[1170] YES,,LITE WAITING FOR ACK BIT
 INS 20/70	;08C14
	;**;[1170] Insert 4 lines after MOUN.7+10L. 29-Dec-83 /LWS
		MOVX	S1,MM.GFR		;[1170] LITE "FROM [SYSTEM]GOPHER" BIT
		SKIPE	G$ACK##			;[1170] WAITING FOR ACK?
		TXO	S1,MM.WAT		;[1170] YES,,LITE THE BIT
		IORM	S1,.OFLAG(P1)		;[1170] LITE THE FLAG(S)
 SUM 37710