diff options
| -rw-r--r-- | host/lib/transport/simple_claimer.hpp | 64 | ||||
| -rw-r--r-- | host/lib/transport/udp_zero_copy.cpp | 2 | ||||
| -rw-r--r-- | host/lib/transport/usb_zero_copy_wrapper.cpp | 3 | 
3 files changed, 3 insertions, 66 deletions
| diff --git a/host/lib/transport/simple_claimer.hpp b/host/lib/transport/simple_claimer.hpp deleted file mode 100644 index 3bbc49a05..000000000 --- a/host/lib/transport/simple_claimer.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// -// Copyright 2012 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 -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program.  If not, see <http://www.gnu.org/licenses/>. -// - -#ifndef INCLUDED_LIBUHD_TRANSPORT_SIMPLE_CLAIMER_HPP -#define INCLUDED_LIBUHD_TRANSPORT_SIMPLE_CLAIMER_HPP - -#include <uhd/config.hpp> -#include <boost/thread/condition.hpp> -#include <boost/thread/mutex.hpp> - -namespace uhd{ namespace transport{ - -/*********************************************************************** - * Claimer class to provide synchronization for multi-thread access. - * Claiming enables buffer classes to be used with a buffer queue. - **********************************************************************/ -class simple_claimer{ -public: -    simple_claimer(void){ -        this->release(); -    } - -    UHD_INLINE void release(void){ -        boost::mutex::scoped_lock lock(_mutex); -        _locked = false; -        lock.unlock(); -        _cond.notify_one(); -    } - -    UHD_INLINE bool claim_with_wait(const double timeout){ -        boost::mutex::scoped_lock lock(_mutex); -        while (_locked){ -            if (not _cond.timed_wait(lock, boost::posix_time::microseconds(long(timeout*1e6)))){ -                break; -            } -        } -        const bool ret = not _locked; -        _locked = true; -        return ret; -    } - -private: -    bool _locked; -    boost::mutex _mutex; -    boost::condition_variable _cond; -}; - -}} //namespace uhd::transport - -#endif /* INCLUDED_LIBUHD_TRANSPORT_SIMPLE_CLAIMER_HPP */ diff --git a/host/lib/transport/udp_zero_copy.cpp b/host/lib/transport/udp_zero_copy.cpp index 9765c19c0..9125be53a 100644 --- a/host/lib/transport/udp_zero_copy.cpp +++ b/host/lib/transport/udp_zero_copy.cpp @@ -16,12 +16,12 @@  //  #include "udp_common.hpp" -#include "simple_claimer.hpp"  #include <uhd/transport/udp_zero_copy.hpp>  #include <uhd/transport/udp_simple.hpp> //mtu  #include <uhd/transport/buffer_pool.hpp>  #include <uhd/utils/msg.hpp>  #include <uhd/utils/log.hpp> +#include <uhd/utils/atomic.hpp>  #include <boost/format.hpp>  #include <boost/make_shared.hpp>  #include <vector> diff --git a/host/lib/transport/usb_zero_copy_wrapper.cpp b/host/lib/transport/usb_zero_copy_wrapper.cpp index d59ea36ff..d04244ca9 100644 --- a/host/lib/transport/usb_zero_copy_wrapper.cpp +++ b/host/lib/transport/usb_zero_copy_wrapper.cpp @@ -15,12 +15,12 @@  // along with this program.  If not, see <http://www.gnu.org/licenses/>.  // -#include "simple_claimer.hpp"  #include <uhd/transport/usb_zero_copy.hpp>  #include <uhd/transport/buffer_pool.hpp>  #include <uhd/utils/byteswap.hpp>  #include <uhd/utils/msg.hpp>  #include <uhd/utils/tasks.hpp> +#include <uhd/utils/atomic.hpp>  #include <boost/foreach.hpp>  #include <boost/make_shared.hpp>  #include <boost/thread/mutex.hpp> @@ -29,6 +29,7 @@  #include <vector>  #include <iostream> +using namespace uhd;  using namespace uhd::transport;  static const boost::posix_time::time_duration AUTOFLUSH_TIMEOUT(boost::posix_time::milliseconds(1)); | 
