diff options
author | Philipp Haller <hallerp@gmail.com> | 2007-03-05 21:32:03 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2007-03-05 21:32:03 +0000 |
commit | 93119cb1e79ca49c816cb7428e68d159a48c0369 (patch) | |
tree | d866ec477f6ca02bc7ef42ee694f02e7ed13e7ee | |
parent | 2d80ade773cc9a74a7cbf896d53606475cdb675d (diff) | |
download | scala-93119cb1e79ca49c816cb7428e68d159a48c0369.tar.gz scala-93119cb1e79ca49c816cb7428e68d159a48c0369.tar.bz2 scala-93119cb1e79ca49c816cb7428e68d159a48c0369.zip |
scala.actors: small clean-ups
-rw-r--r-- | src/actors/scala/actors/Actor.scala | 4 | ||||
-rw-r--r-- | src/actors/scala/actors/Future.scala | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala index df2ec1571b..3524f8cdb5 100644 --- a/src/actors/scala/actors/Actor.scala +++ b/src/actors/scala/actors/Actor.scala @@ -424,7 +424,9 @@ trait Actor extends OutputChannel[Any] { /** * Sends <code>msg</code> to this actor (asynchronous). */ - def !(msg: Any): Unit = send(msg, Actor.self.getReplyChannel) + def !(msg: Any): Unit = { + send(msg, Actor.self.getReplyChannel) + } def forward(msg: Any): Unit = send(msg, Actor.sender.getReplyChannel) diff --git a/src/actors/scala/actors/Future.scala b/src/actors/scala/actors/Future.scala index 3ea87ae29d..f7f4220a15 100644 --- a/src/actors/scala/actors/Future.scala +++ b/src/actors/scala/actors/Future.scala @@ -12,8 +12,8 @@ package scala.actors * @author Philipp Haller */ abstract class Future[T](val ch: InputChannel[Any]) extends Function0[T] { + protected var value: Option[T] = None def isSet: boolean - var value: Option[T] = None } /** @@ -24,7 +24,7 @@ abstract class Future[T](val ch: InputChannel[Any]) extends Function0[T] { */ object Futures { - def spawn[T](body: => T): Future[T] = { + def future[T](body: => T): Future[T] = { case object Eval val a = Actor.actor { Actor.react { @@ -34,7 +34,11 @@ object Futures { a !! (Eval, { case any => any.asInstanceOf[T] }) } - def alarm(t: long) = spawn { Thread.sleep(t) } + def alarm(t: long) = future { + Actor.reactWithin(t) { + case TIMEOUT => {} + } + } def awaitEither[a, b](ft1: Future[a], ft2: Future[b]): Any = { val FutCh1 = ft1.ch; val FutCh2 = ft2.ch |