aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/common
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/common')
-rw-r--r--host/lib/usrp/common/recv_packet_demuxer_3000.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/host/lib/usrp/common/recv_packet_demuxer_3000.hpp b/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
index 4fb6c4604..543c9ce76 100644
--- a/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
+++ b/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
@@ -70,7 +70,10 @@ namespace uhd{ namespace usrp{
return buff;
}
}
-
+ // Following is disabled by default as super_recv_packet_handler (caller) is not thread safe
+ // Only underlying transport (libusb1_zero_copy) is thread safe
+ // The onus is on the caller to super_recv_packet_handler (and therefore this) to serialise access
+#ifdef RECV_PACKET_DEMUXER_3000_THREAD_SAFE
//----------------------------------------------------------
//-- Try to claim the transport or wait patiently
//----------------------------------------------------------
@@ -84,6 +87,7 @@ namespace uhd{ namespace usrp{
//-- Wait on the transport for input buffers
//----------------------------------------------------------
else
+#endif // RECV_PACKET_DEMUXER_3000_THREAD_SAFE
{
buff = _xport->get_recv_buff(timeout);
if (buff)