diff --git a/core/java/android/os/MessageQueue.java b/core/java/android/os/MessageQueue.java index dfa5b26142f8c..1a3cf2d2c6345 100644 --- a/core/java/android/os/MessageQueue.java +++ b/core/java/android/os/MessageQueue.java @@ -550,11 +550,12 @@ public final class MessageQueue { if (msg.target == null) { throw new IllegalArgumentException("Message must have a target."); } - if (msg.isInUse()) { - throw new IllegalStateException(msg + " This message is already in use."); - } synchronized (this) { + if (msg.isInUse()) { + throw new IllegalStateException(msg + " This message is already in use."); + } + if (mQuitting) { IllegalStateException e = new IllegalStateException( msg.target + " sending message to a Handler on a dead thread");