Skip to content

Commit

Permalink
Problem: assertion triggered in stream_connecter_base::close
Browse files Browse the repository at this point in the history
Solution: change into regular control flow condition
  • Loading branch information
sigiesec committed Feb 11, 2019
1 parent 58cd99f commit bf3ec80
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/stream_connecter_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,17 +130,19 @@ void zmq::stream_connecter_base_t::rm_handle ()

void zmq::stream_connecter_base_t::close ()
{
zmq_assert (_s != retired_fd);
// TODO before, this was an assertion for _s != retired_fd, but this does not match usage of close
if (_s != retired_fd) {
#ifdef ZMQ_HAVE_WINDOWS
const int rc = closesocket (_s);
wsa_assert (rc != SOCKET_ERROR);
const int rc = closesocket (_s);
wsa_assert (rc != SOCKET_ERROR);
#else
const int rc = ::close (_s);
errno_assert (rc == 0);
const int rc = ::close (_s);
errno_assert (rc == 0);
#endif
_socket->event_closed (make_unconnected_connect_endpoint_pair (_endpoint),
_s);
_s = retired_fd;
_socket->event_closed (
make_unconnected_connect_endpoint_pair (_endpoint), _s);
_s = retired_fd;
}
}

void zmq::stream_connecter_base_t::in_event ()
Expand Down

0 comments on commit bf3ec80

Please sign in to comment.