From 76e0153d4f3ef1d5fef1a9b926e0e8e3ab2d9685 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Thu, 10 Jun 2010 07:21:05 +0200 Subject: issue 33 - missing virtual destructors --- src/decoder.hpp | 4 +++- src/encoder.hpp | 2 ++ src/yarray_item.hpp | 4 +++- src/ypipe.hpp | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/decoder.hpp b/src/decoder.hpp index 1662bda..f05f651 100644 --- a/src/decoder.hpp +++ b/src/decoder.hpp @@ -55,7 +55,9 @@ namespace zmq zmq_assert (buf); } - inline ~decoder_t () + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~decoder_t () { free (buf); } diff --git a/src/encoder.hpp b/src/encoder.hpp index 10fe912..995802f 100644 --- a/src/encoder.hpp +++ b/src/encoder.hpp @@ -50,6 +50,8 @@ namespace zmq zmq_assert (buf); } + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. inline ~encoder_t () { free (buf); diff --git a/src/yarray_item.hpp b/src/yarray_item.hpp index b6d89cc..db24dda 100644 --- a/src/yarray_item.hpp +++ b/src/yarray_item.hpp @@ -35,7 +35,9 @@ namespace zmq { } - inline ~yarray_item_t () + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~yarray_item_t () { } diff --git a/src/ypipe.hpp b/src/ypipe.hpp index df5b3d0..2a2d725 100644 --- a/src/ypipe.hpp +++ b/src/ypipe.hpp @@ -50,6 +50,12 @@ namespace zmq c.set (&queue.back ()); } + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~ypipe_t () + { + } + // Following function (write) deliberately copies uninitialised data // when used with zmq_msg. Initialising the VSM body for // non-VSM messages won't be good for performance. -- cgit v1.2.3