From 63b1fd9be6c8c9e28092d775037c695af4b264e3 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Mon, 26 Oct 2009 20:56:32 +0000 Subject: Modifications to the five accumulated ant-paras... Modifications to the five accumulated ant-parasite files which are slowly driving me mad by being recompiled on every single run. One file renamed, one moved to the right directory, two given dummy implementations since they're completely commented out, and the actors package object changed to apply to scala.actors rather than _root_.actors. --- .../scala/actors/SingleThreadedScheduler.scala | 69 ---------------------- src/actors/scala/actors/package.scala | 1 + .../actors/scheduler/SingleThreadedScheduler.scala | 69 ++++++++++++++++++++++ 3 files changed, 70 insertions(+), 69 deletions(-) delete mode 100644 src/actors/scala/actors/SingleThreadedScheduler.scala create mode 100644 src/actors/scala/actors/scheduler/SingleThreadedScheduler.scala (limited to 'src/actors') diff --git a/src/actors/scala/actors/SingleThreadedScheduler.scala b/src/actors/scala/actors/SingleThreadedScheduler.scala deleted file mode 100644 index 0a9c41a0c0..0000000000 --- a/src/actors/scala/actors/SingleThreadedScheduler.scala +++ /dev/null @@ -1,69 +0,0 @@ -/* __ *\ -** ________ ___ / / ___ Scala API ** -** / __/ __// _ | / / / _ | (c) 2005-2009, LAMP/EPFL ** -** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** -** /____/\___/_/ |_/____/_/ | | ** -** |/ ** -\* */ - -// $Id$ - -package scala.actors -package scheduler - -import scala.collection.mutable.Queue - -/** - * This scheduler executes actor tasks on the current thread. - * - * @author Philipp Haller - */ -class SingleThreadedScheduler extends IScheduler { - - private val tasks = new Queue[Runnable] - - /** The maximum number of nested tasks that are run - * without unwinding the call stack. - */ - protected val maxNesting = 10 - - private var curNest = 0 - private var isShutdown = false - - def execute(task: Runnable) { - if (curNest < maxNesting) { - curNest += 1 - task.run() - } else { - curNest = 0 - tasks += task - } - } - - def execute(fun: => Unit): Unit = - execute(new Runnable { - def run() { fun } - }) - - def shutdown() { - isShutdown = false - while (!tasks.isEmpty) { - val task = tasks.dequeue() - task.run() - } - isShutdown = true - } - - def newActor(actor: Reactor) {} - def terminated(actor: Reactor) {} - - // TODO: run termination handlers at end of shutdown. - def onTerminate(actor: Reactor)(f: => Unit) {} - - def isActive = - !isShutdown - - def managedBlock(blocker: scala.concurrent.ManagedBlocker) { - blocker.block() - } -} diff --git a/src/actors/scala/actors/package.scala b/src/actors/scala/actors/package.scala index d74fb23086..7075518931 100644 --- a/src/actors/scala/actors/package.scala +++ b/src/actors/scala/actors/package.scala @@ -1,3 +1,4 @@ +package scala package object actors { @deprecated("use scala.actors.scheduler.ForkJoinScheduler instead") diff --git a/src/actors/scala/actors/scheduler/SingleThreadedScheduler.scala b/src/actors/scala/actors/scheduler/SingleThreadedScheduler.scala new file mode 100644 index 0000000000..0a9c41a0c0 --- /dev/null +++ b/src/actors/scala/actors/scheduler/SingleThreadedScheduler.scala @@ -0,0 +1,69 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2009, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors +package scheduler + +import scala.collection.mutable.Queue + +/** + * This scheduler executes actor tasks on the current thread. + * + * @author Philipp Haller + */ +class SingleThreadedScheduler extends IScheduler { + + private val tasks = new Queue[Runnable] + + /** The maximum number of nested tasks that are run + * without unwinding the call stack. + */ + protected val maxNesting = 10 + + private var curNest = 0 + private var isShutdown = false + + def execute(task: Runnable) { + if (curNest < maxNesting) { + curNest += 1 + task.run() + } else { + curNest = 0 + tasks += task + } + } + + def execute(fun: => Unit): Unit = + execute(new Runnable { + def run() { fun } + }) + + def shutdown() { + isShutdown = false + while (!tasks.isEmpty) { + val task = tasks.dequeue() + task.run() + } + isShutdown = true + } + + def newActor(actor: Reactor) {} + def terminated(actor: Reactor) {} + + // TODO: run termination handlers at end of shutdown. + def onTerminate(actor: Reactor)(f: => Unit) {} + + def isActive = + !isShutdown + + def managedBlock(blocker: scala.concurrent.ManagedBlocker) { + blocker.block() + } +} -- cgit v1.2.3