Synchronous cross memory post

You can specify LINKAGE=SYSTEM on a cross-memory POST. If you do, the system performs a synchronous POST, if possible. If it is not possible to do the POST synchronously, the system schedules an asynchronous POST. A synchronous POST means that the POST process completes before the system returns control to your program. A synchronous POST is possible only when the ECB is not an extended ECB (see Writing POST exit routines) or an EVENTS ECB and the target address space is swapped in and its LOCAL lock is available. A synchronous POST runs faster. However, in the event of an error condition, the system does not give the ERRET routine control and abnormally ends your program.

Return code 0 from POST with the LINKAGE=SYSTEM parameter indicates that the POST was synchronous. Return code 4 indicates that the POST was asynchronous. Return code 8 indicates that the POST was asynchronous, but that the ERRET routine can not be utilized.

The serialization method used to control modifications to an ECB depends on whether or not the ECB is waiting. If the ECB is not waiting (the high order bit of the ECB is off), it may be quick posted via the compare-and-swap instruction using the technique described in Bypassing the POST routine. If the ECB is waiting (the high order bit of the ECB is on), the LOCAL lock serializes updates to the ECB.