I have a problem with qpid-cpp C++ clients stuck on the open connection call while reconnecting with the broker. It is a rare event, sometimes takes weeks or months to happen. But when it occurs, I have to manually restart the client process in order to re-establish the broker connection.
I have summarized the details of this issue in this mailing list post: http://qpid.2158936.n2.nabble.com/Open-connection-to-broker-waits-forever-td7678381.html
Attached is a patch (qpidcpp_client_connect_timeout.patch) to add a timeout to qpid-cpp client's open connection call. A new option called "connect-timeout" can be used to specify how long to wait for the connection::open call in seconds. When the "connect-timeout" is set, qpid-cpp client calls "waitFor" with a timeout.
I have tested it in my environment, and it seems to be able to time out properly when the open call gets stuck.