aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-06-01 10:52:48 +0200
committerJakob Odersky <jodersky@gmail.com>2015-06-01 10:52:48 +0200
commitf9fc70e0c7dfcb15de9c77fd0d81e76cd8a255f8 (patch)
tree3c2db56b9b74c45e12a794c39e781d1a695175f3
parent4d8a54c33290283f5bcfe8446a5d77b6c1b7a8fe (diff)
downloadakka-serial-f9fc70e0c7dfcb15de9c77fd0d81e76cd8a255f8.tar.gz
akka-serial-f9fc70e0c7dfcb15de9c77fd0d81e76cd8a255f8.tar.bz2
akka-serial-f9fc70e0c7dfcb15de9c77fd0d81e76cd8a255f8.zip
escalate exception in case watcher crashes
-rw-r--r--flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala b/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
index 686cdb3..d163b0a 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
+++ b/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
@@ -1,7 +1,7 @@
package com.github.jodersky.flow
import akka.actor.{ Actor, ActorLogging, OneForOneStrategy }
-import akka.actor.SupervisorStrategy.Stop
+import akka.actor.SupervisorStrategy.{ Escalate, Stop }
import internal.{ SerialConnection, Watcher }
import scala.util.{ Failure, Success, Try }
@@ -15,6 +15,7 @@ class SerialManager extends Actor with ActorLogging {
import context._
override val supervisorStrategy = OneForOneStrategy() {
+ case _: Exception if sender == watcher => Escalate
case _: Exception => Stop
}