Simultaneous use of mail transmission, process suspension, and RIN-locking
intrinsics throughout a process structure could result in a deadlock if the
intrinsic calls are not synchronized properly. MPE/iX ensures that deadlock
between different jobs/sessions cannot occur as long as none of the processes
have Multiple RIN (MR) capability. Be aware of the following:
In a multiprocess job/session, whenever a process is suspended (through
the SUSPEND intrinsic, or when locking a RIN or receiving mail), MPE/iX does
not determine whether or not all other processes in the tree are suspended.
Avoid this situation.
An attempt by a process to lock a global RIN succeeds only if both of
the following conditions are met:
No other process within the job/session currently has locked this RIN.
A global RIN cannot be used as a local RIN, because deadlock within the same
job/session can occur.
The calling process currently has no other global RIN locked for
itself. This could otherwise result in deadlock between two jobs/sessions.
For more information concerning the use of RIN-locking intrinsics refer to
Resource Management Programmer's Guide (32650-90024).