<div>Hi everybody, carrot eaters! :)</div><div><br></div>I am using rabbitmq-c driver.<div><br><div>Sometimes when I try to publish a message (using basic publish method) from a thread that is acting like worker for sending messages, I am geting an error due to connection time out.&nbsp;</div><div><br></div><div>When I try to close channel and connection to restablishing connection, I get broken pipe exception and consecuently I can not close the connection. After that, the worker enters in a new loop iteration and create a new socket, a new channel, a new connection ... It seems that the server, due to exists two connections, does not send the messages to clients through the right connection and the messages never reaches the clients.</div><div><br></div><div>This is the pseudocode :</div><div><br></div><div>worker_sender()</div><div>{</div><div>&nbsp; &nbsp; while(1)</div><div>&nbsp; &nbsp; {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;opening_socket<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;logging_in</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;opening_channel</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while(1)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(error(basic_publish()) //here connection timeout error</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div><br></div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;closing_channel //here broken pipe exception<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;closing_connection //here broken pipe exception</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;destroy_connection</div></div><div>&nbsp; &nbsp; }</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; return</div><div>}</div><div><br></div><div>It would be possible to solve this issue with other approach or some adjustment to the showed solution?</div><div><br></div><div>Thanks in advance!</div><div><br></div></div>