diff options
author | Michael Dickens <michael.dickens@ettus.com> | 2016-06-24 16:48:32 -0400 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2016-08-01 18:49:53 -0700 |
commit | a5909ec14bf162e60aedfad23ad5cf8cc12c9dc3 (patch) | |
tree | 97f6ddbff5167020bd4e8e53430798f0ff27c5b4 /host/lib/transport/libusb1_zero_copy.cpp | |
parent | 3a2d11e53a4d7514440d0a5a2e5fab93a949a21a (diff) | |
download | uhd-a5909ec14bf162e60aedfad23ad5cf8cc12c9dc3.tar.gz uhd-a5909ec14bf162e60aedfad23ad5cf8cc12c9dc3.tar.bz2 uhd-a5909ec14bf162e60aedfad23ad5cf8cc12c9dc3.zip |
usb: add virtual destructors where needed; make virtual destructors out-of-line from class definition to reduce number of vtables emitted (according to clang).
Diffstat (limited to 'host/lib/transport/libusb1_zero_copy.cpp')
-rw-r--r-- | host/lib/transport/libusb1_zero_copy.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/host/lib/transport/libusb1_zero_copy.cpp b/host/lib/transport/libusb1_zero_copy.cpp index d2c7d2160..3f0db74de 100644 --- a/host/lib/transport/libusb1_zero_copy.cpp +++ b/host/lib/transport/libusb1_zero_copy.cpp @@ -125,6 +125,8 @@ public: _ctx(libusb::session::get_global_session()->get_context()), _lut(lut), _frame_size(frame_size) { /* NOP */ } + virtual ~libusb_zero_copy_mb(void); + void release(void){ _release_cb(this); } @@ -189,6 +191,10 @@ private: const size_t _frame_size; }; +libusb_zero_copy_mb::~libusb_zero_copy_mb(void) { + /* NOP */ +} + /*********************************************************************** * USB zero_copy device class **********************************************************************/ @@ -388,6 +394,8 @@ struct libusb_zero_copy_impl : usb_zero_copy size_t(hints.cast<double>("send_frame_size", DEFAULT_XFER_SIZE)))); } + virtual ~libusb_zero_copy_impl(void); + managed_recv_buffer::sptr get_recv_buff(double timeout) { boost::mutex::scoped_lock l(_recv_mutex); @@ -410,6 +418,17 @@ struct libusb_zero_copy_impl : usb_zero_copy boost::mutex _recv_mutex, _send_mutex; }; +libusb_zero_copy_impl::~libusb_zero_copy_impl(void) { + /* NOP */ +} + +/*********************************************************************** + * USB zero_copy destructor + **********************************************************************/ +usb_zero_copy::~usb_zero_copy(void) { + /* NOP */ +} + /*********************************************************************** * USB zero_copy make functions **********************************************************************/ |