>MVC and ST are fine, but I think you're on thin ice with that XC. XC
>could fetch the original value (say it's X'80000001') ...

Remember that the intention is to do this only after the WAITer has
woken up.  At that point, the ECB is known not to have the wait bit on,
it has the POST bit on. And the system will not make any update to an ECB
that has the POST bit on. Thus the changes mentioned would not happen.
That is a software convention statement, not a hardware architecture
statement.

The OP wondered about both commands and termination. To confirm: yes,
you would want to wait on a pair of ECBs (unless both "command" and
"termination" come in via some request-block).

As others have basically posted, the general protocol for a waiter with
reqard to a request queue is:

Zero the ECB(s) before anyone could possibly post them
Loop
  Wait on ECB(s)
  Do for each ECB
    If it is posted then
      Zero the ECB
      Process every request that is represented by that ECB
    End If
  End Do
End Loop

The critical piece is "Zero" before "Process every".

Peter Relson
z/OS Core Technology Design

Reply via email to