I was more thinking along the lines of:

    private def dealWithInterruption(e: InterruptedException, msg: String): Unit = {
      system.eventStream.publish(Error(e, self.path.toString, clazz(actor), msg))
      Thread.currentThread.interrupt()
    }

case e: InterruptedException => dealwithInterruption(e, "interrupted during message send")

To make sure that the interrupt is restored everywhere.