Revert "Use the hiccup mechanism to notify the socket end of the pair of the change in state, and have it shutdown that end, and shutdown the local end normally. This seems to resolve the shutdown and race condition issues."

This reverts commit 67497a26439239fdb95652b46d7e4e41fe672b31.
This commit is contained in:
Ian Barber 2012-06-12 14:46:23 +01:00
parent f5a072fee1
commit 3ae68d67a4
2 changed files with 4 additions and 9 deletions

View File

@ -395,15 +395,15 @@ void zmq::session_base_t::detached ()
return;
}
reset ();
// For delayed connect situations, terminate the pipe
// and reestablish later on
if (pipe && options.delay_attach_on_connect == 1
&& addr->protocol != "pgm" && addr->protocol != "epgm") {
pipe->hiccup ();
pipe->terminate (false);
pipe = NULL;
}
reset ();
// Reconnect.
if (options.reconnect_ivl != -1)

View File

@ -916,7 +916,7 @@ void zmq::socket_base_t::xwrite_activated (pipe_t *pipe_)
void zmq::socket_base_t::xhiccuped (pipe_t *pipe_)
{
zmq_assert ( options.delay_attach_on_connect == 1 );
zmq_assert (false);
}
void zmq::socket_base_t::in_event ()
@ -970,11 +970,6 @@ void zmq::socket_base_t::write_activated (pipe_t *pipe_)
void zmq::socket_base_t::hiccuped (pipe_t *pipe_)
{
if( options.delay_attach_on_connect == 1 ) {
pipe_->terminate (false);
}
// Notify derived sockets of the hiccup
xhiccuped (pipe_);
}