• Luca Boccassi's avatar
    Problem: zmq_connect fails after disconnect due to RECONNECT_IVL == -1 · edb4ca10
    Luca Boccassi authored
    Solution: when a connection breaks and ZMQ_RECONNECT_IVL is set to -1,
    which means a reconnection will not be attempted, send a message from
    the I/O thread to the application thread to make the socket call
    term_endpoint, which is the equivalent of manually calling
    zmq_disconnect.
    This way subsequent zmq_connect call to the same endpoint will attempt
    again to do a connection.
    Otherwise, for some socket types like SUBs, those new connects will
    fail as the endpoint is recorded, despite the connection having been
    permanently closed.
    
    Add test cases to exercise this corner case with TCP and IPC.
    edb4ca10
object.hpp 5.94 KB