24.12.2013 Views

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ENQ. [CALLI 151]<br />

-2 .EQFGL The lock you are<br />

requesting is a<br />

global lock.<br />

Specifying this<br />

code prevents<br />

access to the<br />

resource from any<br />

other job. To<br />

use this code,<br />

your job must<br />

have JP.ENQ set<br />

in its privilege<br />

word.<br />

-1 .EQFJB The lock is a<br />

job-wide lock,<br />

preventing access<br />

to the resource<br />

from any other<br />

requests by your<br />

job.<br />

1 .ENQBP<br />

Specifies the resource to be locked. You can use<br />

a pointer to an ASCIZ string, or a user-code in<br />

this word (more on this later). You must include<br />

this word in every lock block because it defines<br />

the resource you are requesting.<br />

When the first program to request the resource is<br />

granted a lock, it is said to have ownership of<br />

the resource. When a second program makes an ENQ.<br />

call with the same value in this word (if a<br />

user-code is specified) or the same ASCIZ string<br />

(if a byte pointer is used), the request is for<br />

the same resource that was granted to the first<br />

job.<br />

The contents of the word to which the byte pointer<br />

refers, or the user code itself, are purely<br />

arbitrary values to the monitor. The monitor only<br />

checks lock requests for matches, granting or<br />

preventing locks on the basis of matching strings.<br />

This is the key to the ENQ/DEQ access-checking<br />

mechanism.<br />

If the flag EQ.FCW is set in the previous word<br />

(.ENQFL), .ENQBP must contain a 36-bit value as a<br />

user-code.<br />

If EQ.FCW is not set, and the flag EQ.BUC is set<br />

in .ENQBP (that is, a value of 5 is placed in bits<br />

0-2), the rest of the word must contain a j3-bit<br />

user-code.<br />

If neither flag is set, this word (.ENQBP) must<br />

contain a pointer to an ASCIZ text string. This<br />

may be either a standard byte pointer in the form:<br />

POINT 7,address,bit-Iocation<br />

22-113

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!