summaryrefslogtreecommitdiff
path: root/sources/scala/concurrent/SyncVar.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2004-02-16 12:50:22 +0000
committermichelou <michelou@epfl.ch>2004-02-16 12:50:22 +0000
commit7cf98e704a6dcca849865a69a9759f563908fc0a (patch)
treea5f7b265e41f42498eb22cb06b2509af240ff8e9 /sources/scala/concurrent/SyncVar.scala
parent2f8a23ed07ba1f19db492999f21b8b79feba1da0 (diff)
downloadscala-7cf98e704a6dcca849865a69a9759f563908fc0a.tar.gz
scala-7cf98e704a6dcca849865a69a9759f563908fc0a.tar.bz2
scala-7cf98e704a6dcca849865a69a9759f563908fc0a.zip
- added header with $id.
Diffstat (limited to 'sources/scala/concurrent/SyncVar.scala')
-rw-r--r--sources/scala/concurrent/SyncVar.scala22
1 files changed, 20 insertions, 2 deletions
diff --git a/sources/scala/concurrent/SyncVar.scala b/sources/scala/concurrent/SyncVar.scala
index a05ef32f86..ec3fd281e2 100644
--- a/sources/scala/concurrent/SyncVar.scala
+++ b/sources/scala/concurrent/SyncVar.scala
@@ -1,19 +1,37 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2003-04, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+** $Id$
+\* */
+
package scala.concurrent;
+
class SyncVar[a] {
+
private var isDefined: Boolean = false;
private var value: a = _;
+
def get = synchronized {
if (!isDefined) wait();
value
}
+
def set(x: a) = synchronized {
- value = x ; isDefined = true ; notifyAll();
+ value = x;
+ isDefined = true;
+ notifyAll()
}
+
def isSet: Boolean =
isDefined;
+
def unset = synchronized {
- isDefined = false;
+ isDefined = false
}
+
}