summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/scala/actors/Actor.scala12
-rw-r--r--src/actors/scala/actors/Combinators.scala2
-rw-r--r--src/actors/scala/actors/Reaction.scala4
-rw-r--r--src/actors/scala/actors/Reactor.scala12
-rw-r--r--src/actors/scala/actors/ReactorTask.scala4
-rw-r--r--src/actors/scala/actors/scheduler/ForkJoinScheduler.scala8
-rw-r--r--src/actors/scala/actors/scheduler/ResizableThreadPoolScheduler.scala8
-rw-r--r--src/actors/scala/actors/scheduler/SchedulerService.scala12
-rw-r--r--src/actors/scala/actors/scheduler/TerminationService.scala6
-rw-r--r--src/actors/scala/actors/scheduler/ThreadPoolScheduler.scala4
10 files changed, 36 insertions, 36 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala
index aeda4a4670..6c8647daaa 100644
--- a/src/actors/scala/actors/Actor.scala
+++ b/src/actors/scala/actors/Actor.scala
@@ -10,7 +10,7 @@
package scala.actors
-import scala.util.control.ControlException
+import scala.util.control.ControlThrowable
import java.util.{Timer, TimerTask}
import java.util.concurrent.{ExecutionException, Callable}
@@ -29,7 +29,7 @@ object Actor extends Combinators {
// timer thread runs as daemon
private[actors] val timer = new Timer(true)
- private[actors] val suspendException = new SuspendActorException
+ private[actors] val suspendException = new SuspendActorControl
/**
* Returns the currently executing actor. Should be used instead
@@ -623,7 +623,7 @@ trait Actor extends AbstractActor with ReplyReactor with ReplyableActor {
}
// guarded by lock of this
- // never throws SuspendActorException
+ // never throws SuspendActorControl
private[actors] override def scheduleActor(f: PartialFunction[Any, Any], msg: Any) =
if (f eq null) {
// do nothing (timeout is handled instead)
@@ -800,12 +800,12 @@ trait Actor extends AbstractActor with ReplyReactor with ReplyableActor {
resumeActor()
else if (waitingFor ne Reactor.waitingForNone) {
scheduleActor(waitingFor, null)
- /* Here we should not throw a SuspendActorException,
+ /* Here we should not throw a SuspendActorControl,
since the current method is called from an actor that
is in the process of exiting.
Therefore, the contract for scheduleActor is that
- it never throws a SuspendActorException.
+ it never throws a SuspendActorControl.
*/
}
}
@@ -851,4 +851,4 @@ case class Exit(from: AbstractActor, reason: AnyRef)
* @version 0.9.8
* @author Philipp Haller
*/
-private[actors] class SuspendActorException extends Throwable with ControlException
+private[actors] class SuspendActorControl extends ControlThrowable
diff --git a/src/actors/scala/actors/Combinators.scala b/src/actors/scala/actors/Combinators.scala
index 073247827c..3c0be7ed15 100644
--- a/src/actors/scala/actors/Combinators.scala
+++ b/src/actors/scala/actors/Combinators.scala
@@ -34,6 +34,6 @@ private[actors] trait Combinators {
if (cond) { body andThen loopWhile(cond)(body) }
else continue
- def continue: Unit = throw new KillActorException
+ def continue: Unit = throw new KillActorControl
}
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index a8364bc8fb..7ff9204363 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -11,10 +11,10 @@
package scala.actors
-import scala.util.control.ControlException
+import scala.util.control.ControlThrowable
import java.lang.{InterruptedException, Runnable}
-private[actors] class KillActorException extends Throwable with ControlException
+private[actors] class KillActorControl extends ControlThrowable
/** <p>
* The abstract class <code>Reaction</code> associates
diff --git a/src/actors/scala/actors/Reactor.scala b/src/actors/scala/actors/Reactor.scala
index a6007a6cd8..a71368e6b2 100644
--- a/src/actors/scala/actors/Reactor.scala
+++ b/src/actors/scala/actors/Reactor.scala
@@ -119,11 +119,11 @@ trait Reactor extends OutputChannel[Any] with Combinators {
handler(item._1)
else {
scheduleActor(handler, item._1)
- /* Here, we throw a SuspendActorException to avoid
+ /* Here, we throw a SuspendActorControl to avoid
terminating this actor when the current ReactorTask
is finished.
- The SuspendActorException skips the termination code
+ The SuspendActorControl skips the termination code
in ReactorTask.
*/
throw Actor.suspendException
@@ -163,11 +163,11 @@ trait Reactor extends OutputChannel[Any] with Combinators {
// keep going
} else {
waitingFor = handler
- /* Here, we throw a SuspendActorException to avoid
+ /* Here, we throw a SuspendActorControl to avoid
terminating this actor when the current ReactorTask
is finished.
- The SuspendActorException skips the termination code
+ The SuspendActorControl skips the termination code
in ReactorTask.
*/
throw Actor.suspendException
@@ -191,7 +191,7 @@ trait Reactor extends OutputChannel[Any] with Combinators {
*
* assume handler != null
*
- * never throws SuspendActorException
+ * never throws SuspendActorControl
*/
private[actors] def scheduleActor(handler: PartialFunction[Any, Any], msg: Any) = {
val fun = () => handler(msg): Unit
@@ -228,7 +228,7 @@ trait Reactor extends OutputChannel[Any] with Combinators {
throw Actor.suspendException
}
first
- throw new KillActorException
+ throw new KillActorControl
}
protected[this] def exit(): Nothing = {
diff --git a/src/actors/scala/actors/ReactorTask.scala b/src/actors/scala/actors/ReactorTask.scala
index 3e64eab7a2..87ec7834fa 100644
--- a/src/actors/scala/actors/ReactorTask.scala
+++ b/src/actors/scala/actors/ReactorTask.scala
@@ -35,12 +35,12 @@ private[actors] class ReactorTask[T >: Null <: Reactor](var reactor: T, var fun:
reactor.exceptionHandler(e)
}
} catch {
- case _: KillActorException =>
+ case _: KillActorControl =>
}
reactor.kill()
}
catch {
- case _: SuspendActorException =>
+ case _: SuspendActorControl =>
// do nothing (continuation is already saved)
case e: Exception =>
diff --git a/src/actors/scala/actors/scheduler/ForkJoinScheduler.scala b/src/actors/scala/actors/scheduler/ForkJoinScheduler.scala
index e2537511ac..ab4fca04ca 100644
--- a/src/actors/scala/actors/scheduler/ForkJoinScheduler.scala
+++ b/src/actors/scala/actors/scheduler/ForkJoinScheduler.scala
@@ -67,12 +67,12 @@ class ForkJoinScheduler(val initCoreSize: Int, val maxSize: Int, daemon: Boolean
}
if (terminating)
- throw new QuitException
+ throw new QuitControl
if (allActorsTerminated) {
Debug.info(this+": all actors terminated")
terminating = true
- throw new QuitException
+ throw new QuitControl
}
if (!snapshoting) {
@@ -83,12 +83,12 @@ class ForkJoinScheduler(val initCoreSize: Int, val maxSize: Int, daemon: Boolean
Debug.info(this+": drained "+num+" tasks")
drainedTasks = list
terminating = true
- throw new QuitException
+ throw new QuitControl
}
}
}
} catch {
- case _: QuitException =>
+ case _: QuitControl =>
Debug.info(this+": initiating shutdown...")
while (!pool.isQuiescent()) {
try {
diff --git a/src/actors/scala/actors/scheduler/ResizableThreadPoolScheduler.scala b/src/actors/scala/actors/scheduler/ResizableThreadPoolScheduler.scala
index ff74d0bc8b..3687138e0e 100644
--- a/src/actors/scala/actors/scheduler/ResizableThreadPoolScheduler.scala
+++ b/src/actors/scala/actors/scheduler/ResizableThreadPoolScheduler.scala
@@ -112,7 +112,7 @@ class ResizableThreadPoolScheduler(protected val terminate: Boolean,
}
if (terminating)
- throw new QuitException
+ throw new QuitControl
if (!suspending) {
gc()
@@ -129,19 +129,19 @@ class ResizableThreadPoolScheduler(protected val terminate: Boolean,
Debug.info(this+": corePoolSize = "+coreSize+", maxPoolSize = "+maxSize)
terminating = true
- throw new QuitException
+ throw new QuitControl
}
}
} else {
drainedTasks = executor.shutdownNow()
Debug.info(this+": drained "+drainedTasks.size()+" tasks")
terminating = true
- throw new QuitException
+ throw new QuitControl
}
} // sync
}
} catch {
- case _: QuitException =>
+ case _: QuitControl =>
executor.shutdown()
// allow thread to exit
}
diff --git a/src/actors/scala/actors/scheduler/SchedulerService.scala b/src/actors/scala/actors/scheduler/SchedulerService.scala
index dca8bb5b9c..1f886dbae9 100644
--- a/src/actors/scala/actors/scheduler/SchedulerService.scala
+++ b/src/actors/scala/actors/scheduler/SchedulerService.scala
@@ -11,7 +11,7 @@
package scala.actors
package scheduler
-import scala.util.control.ControlException
+import scala.util.control.ControlThrowable
import java.lang.{Runnable, Thread, InterruptedException}
/**
@@ -46,16 +46,16 @@ abstract class SchedulerService(daemon: Boolean) extends Thread with IScheduler
case _: InterruptedException =>
}
if (terminating)
- throw new QuitException
+ throw new QuitControl
gc()
if (allActorsTerminated)
- throw new QuitException
+ throw new QuitControl
}
}
} catch {
- case _: QuitException =>
+ case _: QuitControl =>
Debug.info(this+": initiating shutdown...")
// invoke shutdown hook
onShutdown()
@@ -71,10 +71,10 @@ abstract class SchedulerService(daemon: Boolean) extends Thread with IScheduler
}
/**
- * The <code>QuitException</code> class is used to manage control flow
+ * The <code>QuitControl</code> class is used to manage control flow
* of certain schedulers and worker threads.
*
* @version 0.9.8
* @author Philipp Haller
*/
-private[actors] class QuitException extends Throwable with ControlException
+private[actors] class QuitControl extends ControlThrowable
diff --git a/src/actors/scala/actors/scheduler/TerminationService.scala b/src/actors/scala/actors/scheduler/TerminationService.scala
index b6f03f11e5..da71b6ac2b 100644
--- a/src/actors/scala/actors/scheduler/TerminationService.scala
+++ b/src/actors/scala/actors/scheduler/TerminationService.scala
@@ -40,14 +40,14 @@ abstract class TerminationService(terminate: Boolean)
case _: InterruptedException =>
}
if (terminating)
- throw new QuitException
+ throw new QuitControl
if (terminate && allActorsTerminated)
- throw new QuitException
+ throw new QuitControl
}
}
} catch {
- case _: QuitException =>
+ case _: QuitControl =>
Debug.info(this+": initiating shutdown...")
// invoke shutdown hook
onShutdown()
diff --git a/src/actors/scala/actors/scheduler/ThreadPoolScheduler.scala b/src/actors/scala/actors/scheduler/ThreadPoolScheduler.scala
index 2eb18645ff..2061207ee1 100644
--- a/src/actors/scala/actors/scheduler/ThreadPoolScheduler.scala
+++ b/src/actors/scala/actors/scheduler/ThreadPoolScheduler.scala
@@ -58,13 +58,13 @@ class ThreadPoolScheduler(protected var executor: ThreadPoolExecutor,
}
if (terminating || (terminate && allActorsTerminated))
- throw new QuitException
+ throw new QuitControl
gc()
}
}
} catch {
- case _: QuitException =>
+ case _: QuitControl =>
Debug.info(this+": initiating shutdown...")
// invoke shutdown hook
onShutdown()