Problem: unreachable code around socket_base_t::add/remove_signaler

Solution: replaced by assertion
This commit is contained in:
sigiesec
2018-02-02 16:29:10 +01:00
committed by Simon Giesecke
parent b77d7610cd
commit 5b510656d0
3 changed files with 13 additions and 26 deletions

View File

@@ -487,32 +487,20 @@ int zmq::socket_base_t::leave (const char *group_)
return rc;
}
int zmq::socket_base_t::add_signaler (signaler_t *s_)
void zmq::socket_base_t::add_signaler (signaler_t *s_)
{
scoped_optional_lock_t sync_lock (thread_safe ? &sync : NULL);
if (!thread_safe) {
errno = EINVAL;
return -1;
}
zmq_assert (thread_safe);
scoped_lock_t sync_lock (sync);
((mailbox_safe_t *) mailbox)->add_signaler (s_);
return 0;
}
int zmq::socket_base_t::remove_signaler (signaler_t *s_)
void zmq::socket_base_t::remove_signaler (signaler_t *s_)
{
scoped_optional_lock_t sync_lock (thread_safe ? &sync : NULL);
if (!thread_safe) {
errno = EINVAL;
return -1;
}
zmq_assert (thread_safe);
scoped_lock_t sync_lock (sync);
((mailbox_safe_t *) mailbox)->remove_signaler (s_);
return 0;
}
int zmq::socket_base_t::bind (const char *addr_)

View File

@@ -86,8 +86,8 @@ class socket_base_t : public own_t,
int term_endpoint (const char *addr_);
int send (zmq::msg_t *msg_, int flags_);
int recv (zmq::msg_t *msg_, int flags_);
int add_signaler (signaler_t *s);
int remove_signaler (signaler_t *s);
void add_signaler (signaler_t *s);
void remove_signaler (signaler_t *s);
int close ();
// These functions are used by the polling mechanism to determine

View File

@@ -130,8 +130,7 @@ int zmq::socket_poller_t::add (socket_base_t *socket_,
}
}
rc = socket_->add_signaler (signaler);
zmq_assert (rc == 0);
socket_->add_signaler (signaler);
}
item_t item = {