HP 3000 Manuals

LOCKGLORIN [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation


MPE/iX Intrinsics Reference Manual

LOCKGLORIN 

NM and CM callable.

Locks a global resource identification number (RIN). Multiple RIN (MR)
capability is required to lock more than one global RIN simultaneously.

Syntax 
_______________________________________________
|                                             |
|                 I16V    U16       CA        |
|     LOCKGLORIN(rinnum,lockflag,rinpassword);|
_______________________________________________

            

Parameters 

rinnum                16-bit signed integer by value (required) 

                      Passes the RIN of the resource to be locked.  This
                      is the RIN furnished in the GETRIN command.

lockflag              16-bit unsigned integer by reference (required) 

                      Passes and returns conditional or unconditional RIN
                      locking specification through bit (15:1):

                         Value    Meaning 

                           0      Locking takes place only if the RIN is currently
                                  unlocked.  If the RIN is not unlocked, control returns
                                  to the calling process immediately with the condition
                                  code CCG (0).

                           1      Locking takes place unconditionally.  If the RIN is
                                  currently locked, the calling process suspends until
                                  the RIN becomes unlocked.

                      All other bits are ignored.  See the discussion of
                      condition codes for the values returned in
                      lockflag.

rinpassword           character array (required) 

                      Passes the RIN password assigned through the GETRIN
                      command.  This array must be a minimum of 10
                      bytes in length and must be terminated by a
                      nonalphanumeric ASCII character; a blank is
                      recommended.

Condition Codes 

The following condition codes are possible if lockflag bit (15:1)=1:

CCE (2)               Request granted.  If the calling process has
                      already locked the RIN, lockflag bit (15:1) is set
                      to 0.  If the RIN is free, lockflag bit (15:1) is
                      set to 1.

CCG (0)               Not returned.

CCL (1)               Request denied.  Invalid RIN was specified.  Either
                      rinnum is not a global RIN, or the value is out of
                      bounds for the RIN table.

The following condition codes are possible if lockflag bit (15:1)=0:

CCE (2)               Request granted.  If the calling process has
                      already locked the RIN, lockflag bit (15:1) is set
                      to 0.  If the RIN is free, lockflag bit (15:1) is
                      set to 1.

CCG (0)               Request denied.  The RIN was locked by another job.

CCL (1)               Request denied because of invalid RIN. Either
                      rinnum is not a global RIN, or the value is out of
                      bounds for the RIN table.

Operation Notes 

The LOCKGLORIN intrinsic can lock any global RIN assigned to a group of
users, one process at a time.  When this is done, any other processes
that attempt to lock this RIN are suspended.

To use the LOCKGLORIN intrinsic, the RIN number and the RIN password must
be known.  Multiple RIN (MR) capability is required to lock two or more
global RINs simultaneously.  If you do not have MR capability and attempt
to lock two or more RINs simultaneously, the LOCKGLORIN intrinsic aborts
the calling process and prints the following error message:

     ONLY ONE RIN CAN BE LOCKED

Lock global RINs using the LOCKGLORIN and FLOCK intrinsics.

Related Information 

Intrinsics            None

Commands              None

Manuals               Resource Management Programmer's Guide 
                      (32650-90024) and MPE/iX Commands Reference Manual 
                      Volumes 1 and 2 (32650-90003 and 32650-90364)



MPE/iX 5.0 Documentation