diff options
| author | Charles E. Rolke <chug@apache.org> | 2010-12-15 20:43:42 +0000 |
|---|---|---|
| committer | Charles E. Rolke <chug@apache.org> | 2010-12-15 20:43:42 +0000 |
| commit | 88ee3a130c349d429b117beb6154e3ed81d06514 (patch) | |
| tree | 49ac64c70ad9076b59051454d969e0cc739daa0d /qpid/cpp/src | |
| parent | 8dedd7ad0825a716064767a5b19ad62fd780d0e2 (diff) | |
| download | qpid-python-88ee3a130c349d429b117beb6154e3ed81d06514.tar.gz | |
QPID-2967 Windows broker fails to destroy connections if client exits abruptly
In win::AsynchIOReadComplete(): If there is no data, always call notifyEof(). If status is nonZero then also call notifyDisconnect(). Reviewed by astitcher.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1049702 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp b/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp index c55d34e875..38d8842521 100644 --- a/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp +++ b/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp @@ -630,10 +630,11 @@ void AsynchIO::readComplete(AsynchReadResult *result) { // No data read, so put the buffer back. It may be partially filled, // so "unread" it back to the front of the queue. unread(result->getBuff()); - if (status == 0) - notifyEof(); - else + notifyEof(); + if (status != 0) + { notifyDisconnect(); + } } } |
