HP 3000 Manuals

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


MPE/iX Intrinsics Reference Manual

LOCKLOCRIN 

NM and CM callable.

Locks a local resource identification number (RIN).

Syntax 
_____________________________________
|                                   |
|                 I16V    U16       |
|     LOCKLOCRIN(rinnum,lockflag);  |
_____________________________________

            

Parameters 

rinnum                16-bit signed integer by value (required) 

                      A previously allocated local RIN; valid values
                      range from 1 to the value specified in the rincount 
                      parameter of the GETLOCRIN intrinsic.

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 it is not, 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.

Operation Notes 

Any local RIN assigned to a job can be locked, one process at a time, by
using the LOCKLOCRIN intrinsic.  When this is done, other processes
within the job that attempt to lock that RIN are suspended until the
locked RIN is released.

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 1.  If the RIN is free, lockflag bit (15:1) is
                      set to 0.

CCG (0)               Not returned.

CCL (1)               Request denied.  The RIN is invalid; the rinnum was
                      too large, no local RIN was allocated, or rinnum 
                      specified a number less than or equal to zero.

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 1.  If the RIN is free, lockflag bit (15:1) is
                      set to 0.

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

CCL (1)               Request denied.  The RIN is invalid; the rinnum was
                      too large, no local RIN was allocated, or rinnum 
                      specified a number less than or equal to zero.

Related Information 

Intrinsics            None

Commands              None

Manuals               Resource Management Programmer's Guide 
                      (32650-90024).



MPE/iX 5.0 Documentation