diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2009-03-24 20:59:03 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2009-03-24 20:59:03 +0000 |
| commit | 98721260a1a8c2ef6c1c46e2f1e2f597e5955c57 (patch) | |
| tree | b2c9063844bac40b976e2ed9beb0a6248b84c7af /qpid/java | |
| parent | 140c1854621ce0320f86a63c01112b42d025e21e (diff) | |
| download | qpid-python-98721260a1a8c2ef6c1c46e2f1e2f597e5955c57.tar.gz | |
This is a fix for QPID-1773
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@758017 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java index 361db42498..3dca4fc44e 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java @@ -559,7 +559,7 @@ public class Session extends SessionInvoker if (isFull(next)) { Waiter w = new Waiter(commands, timeout); - while (w.hasTime() && isFull(next)) + while (w.hasTime() && isFull(next) && state != CLOSED) { if (state == OPEN || state == RESUMING) { @@ -585,6 +585,19 @@ public class Session extends SessionInvoker } } + if (state == CLOSED) + { + ExecutionException exc = getException(); + if (exc != null) + { + throw new SessionException(exc); + } + else + { + throw new SessionClosedException(); + } + } + if (isFull(next)) { throw new SessionException("timed out waiting for completion"); |
