aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport/libusb1_zero_copy.cpp
diff options
context:
space:
mode:
authorMichael Dickens <michael.dickens@ettus.com>2016-06-24 16:48:32 -0400
committerMartin Braun <martin.braun@ettus.com>2016-08-01 18:49:53 -0700
commita5909ec14bf162e60aedfad23ad5cf8cc12c9dc3 (patch)
tree97f6ddbff5167020bd4e8e53430798f0ff27c5b4 /host/lib/transport/libusb1_zero_copy.cpp
parent3a2d11e53a4d7514440d0a5a2e5fab93a949a21a (diff)
downloaduhd-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.cpp19
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
**********************************************************************/