summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2009-07-02 19:18:06 +0000
committerPhilipp Haller <hallerp@gmail.com>2009-07-02 19:18:06 +0000
commitc044b2e8c9181507d391c59219d240353219ebef (patch)
tree1c6bd4f57db79f470863951c7bd836db6dcc8a05
parent57e0d0250df1552bbe518cb011b4ed74fdd9b7e3 (diff)
downloadscala-c044b2e8c9181507d391c59219d240353219ebef.tar.gz
scala-c044b2e8c9181507d391c59219d240353219ebef.tar.bz2
scala-c044b2e8c9181507d391c59219d240353219ebef.zip
Switched to ForkJoinScheduler as default.
-rw-r--r--src/actors/scala/actors/Actor.scala6
-rw-r--r--src/actors/scala/actors/ActorTask.scala4
-rw-r--r--src/actors/scala/actors/LightReaction.scala2
-rw-r--r--src/actors/scala/actors/Reaction.scala2
-rw-r--r--src/actors/scala/actors/Reactor.scala8
-rw-r--r--src/actors/scala/actors/ReactorTask.scala4
-rw-r--r--src/actors/scala/actors/Scheduler.scala6
7 files changed, 17 insertions, 15 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala
index 11d8d63ac3..64e6e31eab 100644
--- a/src/actors/scala/actors/Actor.scala
+++ b/src/actors/scala/actors/Actor.scala
@@ -399,13 +399,13 @@ trait Actor extends AbstractActor with ReplyReactor with ReplyableActor {
*/
private var onTimeout: Option[TimerTask] = None
- protected[this] override def makeReaction(block: => Unit): Runnable = {
+ protected[this] override def makeReaction(fun: () => Unit): Runnable = {
if (isSuspended)
new Runnable {
- def run() { block }
+ def run() { fun() }
}
else
- new ActorTask(this, { block })
+ new ActorTask(this, fun)
}
protected[this] override def resumeReceiver(item: (Any, OutputChannel[Any]), onSameThread: Boolean) {
diff --git a/src/actors/scala/actors/ActorTask.scala b/src/actors/scala/actors/ActorTask.scala
index c780aad2ef..10bc270b61 100644
--- a/src/actors/scala/actors/ActorTask.scala
+++ b/src/actors/scala/actors/ActorTask.scala
@@ -24,10 +24,10 @@ class ActorTask extends Runnable {
private var a: Actor = null
private var fun: () => Unit = null
- def this(a: Actor, block: => Unit) {
+ def this(a: Actor, fun: () => Unit) {
this()
this.a = a
- this.fun = () => { block }
+ this.fun = fun
}
def run() {
diff --git a/src/actors/scala/actors/LightReaction.scala b/src/actors/scala/actors/LightReaction.scala
index ad58edf6d7..820f666c52 100644
--- a/src/actors/scala/actors/LightReaction.scala
+++ b/src/actors/scala/actors/LightReaction.scala
@@ -22,7 +22,7 @@ import java.lang.Runnable
*
* @author Philipp Haller
*/
-class LightReaction(a: Reactor, f: PartialFunction[Any, Unit], msg: Any) extends ReactorTask(a, {
+class LightReaction(a: Reactor, f: PartialFunction[Any, Unit], msg: Any) extends ReactorTask(a, () => {
if (f == null)
a.act()
else
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index 298e8d2fb1..fee697b6cb 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -31,7 +31,7 @@ private[actors] class KillActorException extends Throwable {
* @version 0.9.10
* @author Philipp Haller
*/
-class Reaction(a: Actor, f: PartialFunction[Any, Unit], msg: Any) extends ActorTask(a, {
+class Reaction(a: Actor, f: PartialFunction[Any, Unit], msg: Any) extends ActorTask(a, () => {
if (f == null)
a.act()
else
diff --git a/src/actors/scala/actors/Reactor.scala b/src/actors/scala/actors/Reactor.scala
index d8c1ba3904..d99d91aac3 100644
--- a/src/actors/scala/actors/Reactor.scala
+++ b/src/actors/scala/actors/Reactor.scala
@@ -66,11 +66,11 @@ trait Reactor extends OutputChannel[Any] {
if (waitingFor ne waitingForNone) {
val savedWaitingFor = waitingFor
waitingFor = waitingForNone
- () => scheduler execute (makeReaction {
+ () => scheduler execute (makeReaction(() => {
val startMbox = new MessageQueue
synchronized { startMbox.append(msg, replyTo) }
searchMailbox(startMbox, savedWaitingFor, true)
- })
+ }))
} else {
sendBuffer.enqueue((msg, replyTo))
() => { /* do nothing */ }
@@ -79,8 +79,8 @@ trait Reactor extends OutputChannel[Any] {
todo()
}
- protected[this] def makeReaction(block: => Unit): Runnable =
- new ReactorTask(this, { block })
+ protected[this] def makeReaction(fun: () => Unit): Runnable =
+ new ReactorTask(this, fun)
protected[this] def resumeReceiver(item: (Any, OutputChannel[Any]), onSameThread: Boolean) {
// assert continuation != null
diff --git a/src/actors/scala/actors/ReactorTask.scala b/src/actors/scala/actors/ReactorTask.scala
index 7445097812..d8d23d4e11 100644
--- a/src/actors/scala/actors/ReactorTask.scala
+++ b/src/actors/scala/actors/ReactorTask.scala
@@ -24,10 +24,10 @@ class ReactorTask extends Runnable {
private var reactor: Reactor = null
private var fun: () => Unit = null
- def this(reactor: Reactor, block: => Unit) {
+ def this(reactor: Reactor, fun: () => Unit) {
this()
this.reactor = reactor
- this.fun = () => { block }
+ this.fun = fun
}
def run() {
diff --git a/src/actors/scala/actors/Scheduler.scala b/src/actors/scala/actors/Scheduler.scala
index abda6d329e..bd083691e0 100644
--- a/src/actors/scala/actors/Scheduler.scala
+++ b/src/actors/scala/actors/Scheduler.scala
@@ -25,6 +25,7 @@ object Scheduler extends DelegatingScheduler {
Debug.info("initializing "+this+"...")
def makeNewScheduler: IScheduler = {
+/*
val workQueue = new LinkedBlockingQueue[Runnable](100000)
val threadPool = new ThreadPoolExecutor(ThreadPoolConfig.corePoolSize,
ThreadPoolConfig.maxPoolSize,
@@ -32,8 +33,9 @@ object Scheduler extends DelegatingScheduler {
TimeUnit.MILLISECONDS,
workQueue)
val s = new SimpleExecutorScheduler(threadPool, true)
- //val s = new ForkJoinScheduler
- //Debug.info(this+": starting new "+s)
+*/
+ val s = new ForkJoinScheduler
+ Debug.info(this+": starting new "+s+" ["+s.getClass+"]")
s.start()
s
}