Ted Ross created PROTON-764:

             Summary: Driver is multi-thread-unsafe when connections are closed 
                 Key: PROTON-764
                 URL: https://issues.apache.org/jira/browse/PROTON-764
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-c
    Affects Versions: 0.8
            Reporter: Ted Ross
            Priority: Blocker
             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

Reply via email to