Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - queser.c10
There is 1 other file named queser.c10 in the archive. Click here to see a list.
 REP 37/6	;C101
	EN%ABT==(1B4)	;PROGRAM SAID THIS BLOCK HAS BEEN ABORTED
 WIT
	EN%ABT==(1B4)	;PROGRAM SAID THIS LOCK HAS BEEN ABORTED
 REP 3/17	;C102
	;CHECK HERE FOR SETTING THE ABORT STATUS IN THE LOCK
	;  BLOCK

		TLNN	P1,EN%ABT	;CHANGE TO ABORT STATUS?
		JRST	DOFC3F		;NO
		TRNN	T2,QBOWNR	;OWNING QUEUE BLOCK?
		JRST	DERNJQ		;NO, ERROR
		LOAD.	T3,.QBLB,(T1)	;LOCK BLOCK ADDRESS
		LOAD.	T4,.LBFLG,(T3)	;FLAGS
		TRO	T4,LBLABT	;SET ABORT FLAG
		STOR.	T4,.LBFLG,(T3)	;RESTORE FLAGS

	;CHECK HERE FOR SETTING THE NO DEQUEUE ON RESET BIT

	DOFC3F:	TLNN	P1,EN%NDR	;SET NO DEQUEUE ON RESET?
 WIT
	;CHECK HERE FOR SETTING/CLEARING THE ABORT STATUS IN THE LOCK
	;  BLOCK

		LOAD.	T3,.QBLB,(T1)	;LOCK BLOCK ADDRESS
		LOAD.	T4,.LBFLG,(T3)	;FLAGS
		TLNN	P1,EN%ABT	;CHANGE TO ABORT STATUS?
		JRST	[TRNE	T2,QBOWNR	;NO, OWNING QUEUE BLOCK?
			 TRZ	T4,LBLABT	;YES, CLEAR ABORT STATUS
			 JRST	DOFC3F]
		TRNN	T2,QBOWNR	;OWNING QUEUE BLOCK?
		JRST	DERNJQ		;NO, ERROR
		TRO	T4,LBLABT	;SET ABORT FLAG
	DOFC3F:	STOR.	T4,.LBFLG,(T3)	;RESTORE FLAGS

	;CHECK HERE FOR SETTING THE NO DEQUEUE ON RESET BIT

		TLNN	P1,EN%NDR	;SET NO DEQUEUE ON RESET?
 INS 15/18	;C103
		TRNN	T2,QBLKBK	;IF THIS IS THE LOCK BLOCK, IGNORE IT
 REP 43/65	;C104
		PUSHJ	P,PRVBIT##	;CHECK
 WIT
		PUSHJ	P,[PUSHJ P,SAVT##	;PRESERVE THE TEMP ACS
			   PJRST PRVBIT##]	;CHECK PRIVILEGE
 SUM 178496