aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/common/recv_packet_demuxer_3000.hpp')
-rw-r--r--host/lib/usrp/common/recv_packet_demuxer_3000.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/host/lib/usrp/common/recv_packet_demuxer_3000.hpp b/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
index a970e81a5..2fe534c03 100644
--- a/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
+++ b/host/lib/usrp/common/recv_packet_demuxer_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013,2017 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -84,7 +84,7 @@ namespace uhd{ namespace usrp{
//----------------------------------------------------------
//-- Try to claim the transport or wait patiently
//----------------------------------------------------------
- if (_claimed.cas(1, 0))
+ if (_claimed.exchange(true))
{
boost::mutex::scoped_lock l(mutex);
cond.timed_wait(l, boost::posix_time::microseconds(long(timeout*1e6)));
@@ -111,7 +111,7 @@ namespace uhd{ namespace usrp{
}
}
#ifdef RECV_PACKET_DEMUXER_3000_THREAD_SAFE
- _claimed.write(0);
+ _claimed = false;
cond.notify_all();
#endif // RECV_PACKET_DEMUXER_3000_THREAD_SAFE
}
@@ -133,7 +133,7 @@ namespace uhd{ namespace usrp{
std::map<uint32_t, queue_type_t> _queues;
transport::zero_copy_if::sptr _xport;
#ifdef RECV_PACKET_DEMUXER_3000_THREAD_SAFE
- uhd::atomic_uint32_t _claimed;
+ std::atomic_bool _claimed;
boost::condition_variable cond;
#endif // RECV_PACKET_DEMUXER_3000_THREAD_SAFE
boost::mutex mutex;