Ted Ross created PROTON-764:
Summary: Driver is multi-thread-unsafe when connections are closed
Project: Qpid Proton
Issue Type: Bug
Affects Versions: 0.8
Reporter: Ted Ross
Fix For: 0.9
In a multi-threaded environment (Qpid Dispatch), lost connections can result in
multiple calls to pn_connector_close for a given connector. This results in
driver->close_count never returning to zero and the poll loop forever running
with a zero timeout.
The reason for this is that pn_driver_wait_3 calls pn_connector_close when it
sees an error, even if that connector is currently being processed by another
thread. I think that pn_driver_wait_3 should only flag the connector as failed
so the user can close it in the proper thread.
This message was sent by Atlassian JIRA