summaryrefslogtreecommitdiff
path: root/sources/scala/Monitor.scala
blob: cf7d6d4144c86cbb24cfa522af96531e61b85442 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package scala with {

  class Monitor extends NativeMonitor() with {

    def synchronized[a](def p: a): a = {
      var value: Ref[a] = null;
      synchronised(=> value = Ref(p));
      value.elem
    }

    def await(def cond: Boolean) = while (!cond) { this.wait() }

  }

}