define a macro for heap object deletion in a unified manner (related to issue #1524)

This commit is contained in:
reza.ebrahimi
2015-08-17 00:35:11 +04:30
parent 9bf88bcc03
commit 1621c25ef0
19 changed files with 93 additions and 108 deletions

View File

@@ -156,7 +156,7 @@ zmq::socket_base_t *zmq::socket_base_t::create (int type_, class ctx_t *parent_,
if (mailbox != NULL && mailbox->get_fd () == retired_fd) {
s->destroyed = true;
delete s;
LIBZMQ_DELETE(s);
return NULL;
}
@@ -189,10 +189,11 @@ zmq::socket_base_t::socket_base_t (ctx_t *parent_, uint32_t tid_, int sid_, bool
zmq::socket_base_t::~socket_base_t ()
{
delete mailbox;
LIBZMQ_DELETE(mailbox);
if (reaper_signaler)
delete reaper_signaler;
if (reaper_signaler) {
LIBZMQ_DELETE(reaper_signaler);
}
stop_monitor ();
zmq_assert (destroyed);
@@ -535,7 +536,7 @@ int zmq::socket_base_t::bind (const char *addr_)
alloc_assert (listener);
int rc = listener->set_address (address.c_str ());
if (rc != 0) {
delete listener;
LIBZMQ_DELETE(listener);
event_bind_failed (address, zmq_errno());
EXIT_MUTEX();
return -1;
@@ -557,7 +558,7 @@ int zmq::socket_base_t::bind (const char *addr_)
alloc_assert (listener);
int rc = listener->set_address (address.c_str ());
if (rc != 0) {
delete listener;
LIBZMQ_DELETE(listener);
event_bind_failed (address, zmq_errno());
EXIT_MUTEX();
return -1;
@@ -579,7 +580,7 @@ int zmq::socket_base_t::bind (const char *addr_)
alloc_assert (listener);
int rc = listener->set_address (address.c_str ());
if (rc != 0) {
delete listener;
LIBZMQ_DELETE(listener);
event_bind_failed (address, zmq_errno());
EXIT_MUTEX();
return -1;
@@ -788,7 +789,7 @@ int zmq::socket_base_t::connect (const char *addr_)
}
if (rc == -1) {
errno = EINVAL;
delete paddr;
LIBZMQ_DELETE(paddr);
EXIT_MUTEX();
return -1;
}
@@ -802,7 +803,7 @@ int zmq::socket_base_t::connect (const char *addr_)
alloc_assert (paddr->resolved.ipc_addr);
int rc = paddr->resolved.ipc_addr->resolve (address.c_str ());
if (rc != 0) {
delete paddr;
LIBZMQ_DELETE(paddr);
EXIT_MUTEX();
return -1;
}
@@ -831,7 +832,7 @@ int zmq::socket_base_t::connect (const char *addr_)
alloc_assert (paddr->resolved.tipc_addr);
int rc = paddr->resolved.tipc_addr->resolve (address.c_str());
if (rc != 0) {
delete paddr;
LIBZMQ_DELETE(paddr);
EXIT_MUTEX();
return -1;
}