Add fail fast checks to prevent null message, see #2800

(cherry picked from commit 5526f9d2a8b01f944ff078ce57f2a03c21649d05)

* Added null check in Envelope.apply
This commit is contained in:
Patrik Nordwall 2013-02-20 11:42:29 +01:00
parent b2cd087ac6
commit 0f01ffe3a0
7 changed files with 21 additions and 10 deletions

View file

@ -193,12 +193,14 @@ private[akka] final class PromiseActorRef private (val provider: ActorRefProvide
override def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit = state match {
case Stopped | _: StoppedWithPath provider.deadLetters ! message
case _ if (!(result.tryComplete(
message match {
case Status.Success(r) Success(r)
case Status.Failure(f) Failure(f)
case other Success(other)
}))) provider.deadLetters ! message
case _
if (message == null) throw new InvalidMessageException("Message is null")
if (!(result.tryComplete(
message match {
case Status.Success(r) Success(r)
case Status.Failure(f) Failure(f)
case other Success(other)
}))) provider.deadLetters ! message
}
override def sendSystemMessage(message: SystemMessage): Unit = message match {