2.3.19 Lock

A LOCK statement has the form:

    LOCK mu DO S END
where S is a statement and mu is an expression. It is equivalent to:
    VAR m := mu; BEGIN
      Thread.Acquire(m);
      TRY S FINALLY Thread.Release(m) END
    END
where m stands for a variable that does not occur in S.



m3-support@elego.de