From 93119cb1e79ca49c816cb7428e68d159a48c0369 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Mon, 5 Mar 2007 21:32:03 +0000 Subject: scala.actors: small clean-ups --- src/actors/scala/actors/Actor.scala | 4 +++- src/actors/scala/actors/Future.scala | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/actors') 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 msg 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 -- cgit v1.2.3