| LCKBK | Back to Index page |
|
Prolog Control Block Contents LCKBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
| LCKBK Prolog | Top of page |
NAME : HCPLCKBK
DESCRIPTION: LOCK BLOCK
DSECT : LCKBK
FUNCTION : HCPLCKBK IS USED TO SYNCHRONIZE EXECUTION FOR SECTIONS
OF NONREENTERABLE CODE. EACH SUCH SECTION OF CODE HAS
ITS OWN UNIQUE 8 BYTE IDENTIFIER (NAME) WHICH IS PASSED
TO THE LOCKING ROUTINES AS AN ARGUMENT. THIS IDENTIFIER
IS SAVED IN 'LCKNAME'. A TASK THAT ATTEMPTS TO GET A
LOCK THAT IS ALREADY HELD BY ANOTHER TASK IS FORCED TO
WAIT UNTIL THE EARLIER TASK RELEASES THE LOCK. WHILE THE
TASK IS WAITING, IT IS REPRESENTED BY A CPEBK THAT
IS TEMPORARILY CHAINED OFF OF 'LCKQUE'. WHEN THE TASK
HOLDING THE LOCK RELEASES IT, THE CPEBK REPRESENTING THE
WAITING TASK IS STACKED SO THAT THE WAITING TASK RESUMES
EXECUTION.
LOCATED BY : SYSLOKQ LOCK BLOCK ANCHOR: POINTS TO CHAIN OF LOCK BLOCKS.
LCKNEXT POINTER TO NEXT LOCK BLOCK IN CHAIN.
CREATED BY : HCPLOC WHEN A LOCK IS REQUESTED TO BE PUT ON A RESOURCE
AND THAT RESOURCE IS NOT CURRENTLY LOCKED.
DELETED BY : HCPLOC WHEN A TASK RELEASES THE LOCK AND THERE ARE NO
OTHER TASKS QUEUED ON THE LOCK.
RELOCATION CONSIDERATIONS : None
|
| LCKBK Control Block Content | Top of page |
|
| LCKBK Storage Layout | Top of page |
*** LCKBK - LOCK BLOCK
*
* +---------------------------+---------------------------+
* 0 | LCKNEXT | LCKQUE |
* +---------------------------+---------------------------+
* 8 | LCKNAM1 | LCKNAM2 |
* +---------------------------+---------------------------+
* 10 | LCKIDR11 | LCKIDR14 |
* +---------------------------+---------------------------+
* 18 | LCKQQTOD |
* +---------------------------+---------------------------+
* 20 | LCKDQLEN | LCKDYTOD |
* +---------------------------+---------------------------+
* 28
*
*** LCKBK - LOCK BLOCK
|
| LCKBK Cross Reference | Top of page |
Symbol Dspl Value -------------- ---- ----- LCKDQLEN 0020 LCKDYTOD 0024 LCKIDR11 0010 LCKIDR14 0014 LCKNAME 0008 LCKNAM1 0008 LCKNAM2 000C LCKNEXT 0000 LCKQQTOD 0018 LCKQUE 0004 LCKSIZE 0024 00000005 |
Copyright IBM Corporation, 1990, 2022