summaryrefslogtreecommitdiff
path: root/usrp2/host
diff options
context:
space:
mode:
Diffstat (limited to 'usrp2/host')
-rw-r--r--usrp2/host/lib/control.cc6
-rw-r--r--usrp2/host/lib/eth_buffer.cc6
2 files changed, 9 insertions, 3 deletions
diff --git a/usrp2/host/lib/control.cc b/usrp2/host/lib/control.cc
index 33a95c078..3b5533eb8 100644
--- a/usrp2/host/lib/control.cc
+++ b/usrp2/host/lib/control.cc
@@ -27,6 +27,9 @@
#include <iostream>
#include <gruel/thread.h>
+#include <boost/date_time/posix_time/posix_time.hpp>
+namespace pt = boost::posix_time;
+
namespace usrp2 {
pending_reply::pending_reply(unsigned int rid, void *buffer, size_t len)
@@ -44,10 +47,9 @@ namespace usrp2 {
pending_reply::wait_for_completion(double secs)
{
gruel::scoped_lock l(d_mutex);
- boost::system_time to(gruel::get_new_timeout(secs));
while (!d_complete) {
- if (!d_cond.timed_wait(l, to))
+ if (!d_cond.timed_wait(l, pt::milliseconds(long(secs*1e3))))
return 0; // timed out
}
diff --git a/usrp2/host/lib/eth_buffer.cc b/usrp2/host/lib/eth_buffer.cc
index bd37061fd..e8ca05283 100644
--- a/usrp2/host/lib/eth_buffer.cc
+++ b/usrp2/host/lib/eth_buffer.cc
@@ -156,8 +156,12 @@ namespace usrp2 {
{
// if we have background thread, stop it here
- if (!d_using_tpring && d_buf)
+ if(d_buf) {
+ if (!d_using_tpring)
free(d_buf);
+ else
+ munmap(d_buf, d_buflen);
+ }
return d_ethernet->close();
}