Problem: zmq poller API is not CLASS conformant

Solution: change zmq_poller_close(p) to zmq_poller_destroy(&p)
This commit is contained in:
Pieter Hintjens
2015-12-21 11:01:16 +01:00
parent f8b9ca5f42
commit 7893a6ac26
3 changed files with 10 additions and 8 deletions

View File

@@ -1045,21 +1045,23 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
// The poller functionality
void* zmq_poller_new ()
void *zmq_poller_new (void)
{
zmq::socket_poller_t *poller = new (std::nothrow) zmq::socket_poller_t;
alloc_assert (poller);
return poller;
}
int zmq_poller_close (void *poller_)
int zmq_poller_destroy (void **poller_p_)
{
if (!poller_ || !((zmq::socket_poller_t*)poller_)->check_tag ()) {
void *poller = *poller_p_;
if (!poller || !((zmq::socket_poller_t*) poller)->check_tag ()) {
errno = EFAULT;
return -1;
}
delete ((zmq::socket_poller_t*)poller_);
delete ((zmq::socket_poller_t*) poller);
*poller_p_ = NULL;
return 0;
}