Summary of results of calls to Latch_Obtain

The following table summarizes the results of calls to the Latch_Obtain service:

Table 1. Summary of Possible Results of Calls to Latch_Obtain
Situation Obtain Option Access Option Resulting Actions for Caller of Latch_Obtain Outcome of Request to Obtain Latch
Latch is not owned Any Any Return control to caller Ownership granted immediately; if obtain option ISGLOBT_ASYNC_ECB (value of 2) is specified, ECB is not posted
Only shared requestors own latch Any ISGLOBT_SHARED (value of 1) Return control to caller Ownership granted immediately; if obtain option ISGLOBT_ASYNC_ECB (value of 2) is specified, ECB is not posted
Only shared requestors own latch ISGLOBT_SYNC (value of 0) ISGLOBT_EXCLUSIVE (value of 0) Suspend caller Request queued, ownership granted when latch available
Only shared requestors own latch ISGLOBT_COND (value of 1) ISGLOBT_EXCLUSIVE (value of 0) Return control to caller Request not queued
Only shared requestors own latch ISGLOBT_ASYNC_ECB (value of 2) ISGLOBT_EXCLUSIVE (value of 0) Return control to caller Request queued, ECB posted when ownership granted
An exclusive requestor owns or is waiting for the latch ISGLOBT_SYNC (value of 0) Any Suspend caller Request queued, ownership granted when latch available
An exclusive requestor owns or is waiting for the latch ISGLOBT_COND (value of 1) Any Return control to caller Request not queued
An exclusive requestor owns or is waiting for the latch ISGLOBT_ASYNC_ECB (value of 2) Any Return control to caller Request queued, ECB posted when ownership granted