summaryrefslogtreecommitdiff
path: root/qpid/cpp/include
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-09-04 16:27:54 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-09-04 16:27:54 +0000
commite5521a71e0171567e29395b5ba555004635beae1 (patch)
tree7cc1d5eeeb5c13b49c85426c97d819b67570d89f /qpid/cpp/include
parentf60d221977ee66d6921e6744446a3f3aff5d5a7e (diff)
downloadqpid-python-e5521a71e0171567e29395b5ba555004635beae1.tar.gz
QPID-1809 - The incorrect expcetions were due to a race condition between the mina exception notification thread and the clients main thread blocking for a frame. Occasionally, the client will start blocking just after the notification and so will Timeout. This update ensures that blocking does not occur if the connection has been marked closing or is closed. The lastException set on the StateManager is thrown instead.
The connection close also needed to take into consideration this fact. The syncWrite on for ChannelClose and ConnectionClose are now only down if we are not in a closing situation. As the 0-10 code path does not use the StateManager the changes were applied to the 0-8 Session. Further testing may be needed to validate that the 0-10 client code path does not also have this race condition. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@811471 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/include')
0 files changed, 0 insertions, 0 deletions