Google
 

Trailing-Edge - PDP-10 Archives - bb-y390o-bm_tops20_v41_atpch_20 - autopatch/qsrsch.c11
There are no other files named qsrsch.c11 in the archive.
 REP 18/5	;11C1
		LOAD	P4,.QELNK(P1),QE.PTN	;GET NXT ENTRY NOW,CURRENT BEING DELETED
 WIT
	;**;[1242]Replace 1 line with 6 lines at SCHD.1:7L  JCR  4/16/85
		TXNN	S1,OBSIBM		;[1242]Object belong to an IBM node?
		JRST	SCHD1A			;[1242]No, so shut it down now
		PUSHJ	P,SHTNOW		;[1242]See if the node can be shut down
		JUMPF	[LOAD P1,.QELNK(P1),QE.PTN  ;[1242]No, get the next object
			 JRST SCHD.1]		;[1242]Continue processing
	SCHD1A:	LOAD	P4,.QELNK(P1),QE.PTN	;[1242]Get nxt entry now,current being deleted
 INS 59/5	;11C2
	;**;[1242]At SCHD.4:+1L Add 32 lines  JCR  4/16/85
	SHTNOW:	$SAVE	P2			;[1242]Save P2
		MOVE	S1,OBJNOD(P1)		;[1242]Pick up the object's node word
		PUSHJ	P,N$NODE##		;[1242]Pick up the node's flag word
		LOAD	S1,NETSTS(S2),NT.MOD	;[1242]Pick up the network mode
		CAIE	S1,DF.TRM		;[1242]Termination node?
		$RETT				;[1242]No, so shut the object down
		MOVE	S1,P1			;[1242]Point to the object entry
		MOVE	S2,OBJTYP(P1)		;[1242]Pick up the object type
		PUSHJ	P,SHTTYP		;[1242]Check for idle reader 
		JUMPF	.RETF			;[1242]Reader wasn't idle
		LOAD	P2,HDROBJ##+.QHLNK,QH.PTF ;[1242]Must check all the objects
	SHTN.1:	JUMPE	P2,.RETT		;[1242]No more objects, success
		MOVE	S1,OBJNOD(P2)		;[1242]Get the current object's node
		CAMN	S1,OBJNOD(P1)		;[1242]Same node as one we're looking for
		CAMN	P2,P1			;[1242]Yes, is it the same object
		JRST	SHTN.2			;[1242]Yes, don't care about it
		MOVE	S1,OBJSCH(P2)		;[1242]Get the scheduling word
		TXC	S1,OBSSTA!OBSSUP	;[1242]Complement the bits we want
		TXNE	S1,OBSSTA!OBSSUP!OBSBUS ;[1242]Must be started+setup+not busy
		$RETF				;[1242]No, must wait to shut down
		MOVE	S1,P2			;[1242]Point to the object entry
		MOVE	S2,OBJTYP(P2)		;[1242]Get the object type
		PUSHJ	P,SHTTYP		;[1242]Check if it is an idle reader
		JUMPF	.RETF			;[1242]No, so must wait to shut down
	SHTN.2:	LOAD	P2,.QELNK(P2),QE.PTN	;[1242]All is well, get the next object
		JRST	SHTN.1			;[1242]And continue processing

	SHTTYP:	CAIE	S2,.OTRDR		;[1242]Is this object a reader?
		$RETT				;[1242]No, so continue on
		MOVE	S2,OBJSTS(S1)		;[1242] Get the reader's status
		CAIE	S2,%IDLE		;[1242]Is it idle?
		$RETF				;[1242]No, so can not shut down
		$RETT				;[1242]Yes, so continue on

 INS 39/14	;11C3
	;**;[1240]Add 3 lines at S$AFTR:+8L  JCR  2/28/85
		CAIN	S2,.OTNOT		;[1240]Notification request?
		MOVEI	S1,[ SETOM G$NTFY##	 ;[1240]Get the processing routine
			     $RETT ]		 ;[1240]Address
 SUM 54418