aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp_e/usrp_e_iface.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-05-04 09:32:38 +0000
committerJosh Blum <josh@joshknows.com>2010-05-04 09:32:38 +0000
commit8f21adbed40db490bec8ead6b8d50d2b3d1a4136 (patch)
treee664c69ee78a6409b20d5123bb535c52a24243bc /host/lib/usrp/usrp_e/usrp_e_iface.cpp
parentd8c04c4b70f41b27acb33cd69ed88469d7c94482 (diff)
downloaduhd-8f21adbed40db490bec8ead6b8d50d2b3d1a4136.tar.gz
uhd-8f21adbed40db490bec8ead6b8d50d2b3d1a4136.tar.bz2
uhd-8f21adbed40db490bec8ead6b8d50d2b3d1a4136.zip
created codec control for ad9862, wip
Diffstat (limited to 'host/lib/usrp/usrp_e/usrp_e_iface.cpp')
-rw-r--r--host/lib/usrp/usrp_e/usrp_e_iface.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/host/lib/usrp/usrp_e/usrp_e_iface.cpp b/host/lib/usrp/usrp_e/usrp_e_iface.cpp
index 41737a716..1dbe383fa 100644
--- a/host/lib/usrp/usrp_e/usrp_e_iface.cpp
+++ b/host/lib/usrp/usrp_e/usrp_e_iface.cpp
@@ -20,6 +20,7 @@
#include <sys/ioctl.h> //ioctl
#include <linux/usrp_e.h> //ioctl structures and constants
#include <boost/format.hpp>
+#include <boost/thread.hpp> //mutex
#include <stdexcept>
using namespace uhd;
@@ -42,6 +43,8 @@ public:
* IOCTL: provides the communication base for all other calls
******************************************************************/
void ioctl(int request, void *mem){
+ boost::mutex::scoped_lock lock(_ctrl_mutex);
+
if (::ioctl(_node_fd, request, mem) < 0){
throw std::runtime_error(str(
boost::format("ioctl failed with request %d") % request
@@ -167,7 +170,9 @@ public:
return data.data;
}
-private: int _node_fd;
+private:
+ int _node_fd;
+ boost::mutex _ctrl_mutex;
};
/***********************************************************************