.TITLE NOLOCK .IDENT /V01/ .SBTTL DESCRIPTION ; ; ; COMPONENT: NOLOCK ; ; DATE: 27-JUN-79 ; ; AUTHOR: GR JOHNSON ; BATTELLE NORTHWEST ; P O BOX 999 ; RICHLAND WA 99352 ; ; SOURCE: MACRO-11 ; ; CALLER: FORTRAN IV-PLUS ; ; CALLING SEQUENCE: ; ; CALL NOLOCK(LUN) ; ; LUN = INTEGER CONTAINING A LOGICAL UNIT NUMBER. ; ; ; DESCRIPTION: ; ; IF CALLED IMMEDIATELY BEFORE OPENING A FILE, "NOLOCK" PREVENTS THAT ; FILE FROM BEING LOCKED IRREGARDLESS OF HOW THE TASK EXITS. ; ; EXAMPLE: ; ; CALL NOLOCK(2) ; OPEN(UNIT=2,NAME='FILE.DAT',TYPE='NEW') ; ; .SBTTL ENTRY POINT -- PROTECT AGAINST UNWANTED FILE LOCKING ; ; ; .PSECT ; .MCALL FBLOCK ; IN [11,40]F4P.MAC FBLOCK X ; DEFINE FDB AND FFDB OFFSETS ; NOLOCK:: ; ; MOV @2(R5),R2 ; LUN TO R2 JSR PC,$FCHNL ; ADDRESS OF FFDB TO R0 BCS 2$ ; RETURN ON ERROR (INVALID LUN) ; BIS #101000,D.FDB+F.ACTL(R0) ; SET CONTROL BIT ; 2$: RTS PC ; RETURN TO CALLER .END