-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4383/
-----------------------------------------------------------
Review request for qpid, Andrew Stitcher, Ted Ross, Chug Rolke, and Steve
Huston.
Summary
-------
The cause of the hang was an outstanding read side completion when the AsynchIO
object in charge of the socket was in the queuedClose state.
The completion handler drains outstanding async requests before closing the
socket. Since the cable had been pulled, the async read would never complete
until Windows gave up on the socket altogether (some time much later).
This patch remembers the last aio read and will cancel it if in the
queuedClose state before blocking again.
Aside from the basic description from the Jira, I also removed an unused test
for restartRead, which doesn't change the logic of the section, but may
indicate an intention that wasn't fully coded or something left over from a
previous change.
This addresses bug QPID-3759.
https://issues.apache.org/jira/browse/QPID-3759
Diffs
-----
http://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
1301636
Diff: https://reviews.apache.org/r/4383/diff
Testing
-------
qpid-perftest, qpid-send, qpid-receive, cable pulls, broker pause/resumes
Thanks,
Cliff