summaryrefslogtreecommitdiff
path: root/src/actors/scala/actors/ActorProxy.scala
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2006-10-10 14:07:52 +0000
committerPhilipp Haller <hallerp@gmail.com>2006-10-10 14:07:52 +0000
commitb1b11f7221b216f2d8b80bc34c2fca31d34a2c4a (patch)
tree720d4bd10b3f25afd03761b5015ece746ff1a82d /src/actors/scala/actors/ActorProxy.scala
parentc1a76844ed9f1ab43dc6757e9c8d7866a5ccc998 (diff)
downloadscala-b1b11f7221b216f2d8b80bc34c2fca31d34a2c4a.tar.gz
scala-b1b11f7221b216f2d8b80bc34c2fca31d34a2c4a.tar.bz2
scala-b1b11f7221b216f2d8b80bc34c2fca31d34a2c4a.zip
Diffstat (limited to 'src/actors/scala/actors/ActorProxy.scala')
-rw-r--r--src/actors/scala/actors/ActorProxy.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/actors/scala/actors/ActorProxy.scala b/src/actors/scala/actors/ActorProxy.scala
new file mode 100644
index 0000000000..9e0ce052e9
--- /dev/null
+++ b/src/actors/scala/actors/ActorProxy.scala
@@ -0,0 +1,29 @@
+package scala.actors
+
+/**
+ * This class provides a dynamic actor proxy for normal Java
+ * threads.
+ *
+ * @version Beta2
+ * @author Philipp Haller
+ */
+private[actors] class ActorProxy(t: Thread) extends Actor {
+ def act(): Unit = {}
+ /**
+ Terminates execution of <code>self</code> with the following
+ effect on linked actors:
+
+ For each linked actor <code>a</code> with
+ <code>trapExit</code> set to <code>true</code>, send message
+ <code>Exit(self, reason)</code> to <code>a</code>.
+
+ For each linked actor <code>a</code> with
+ <code>trapExit</code> set to <code>false</code> (default),
+ call <code>a.exit(reason)</code> if
+ <code>!reason.equals("normal")</code>.
+ */
+ override def exit(reason: String): Unit = {
+ exitReason = reason
+ t.interrupt()
+ }
+}