summaryrefslogtreecommitdiff
path: root/usrp2/host/lib/ring.cc
diff options
context:
space:
mode:
authorJohnathan Corgan2010-04-11 13:30:45 -0700
committerJohnathan Corgan2010-04-11 13:30:45 -0700
commit290fc2315a6b7f2d2bc6b98318783e3278a97453 (patch)
tree9cbc354baaeb7a6ce50e97718903d221ada1d194 /usrp2/host/lib/ring.cc
parent1ae689ff9238dcffbf65881b8ca03aa8df3844aa (diff)
downloadgnuradio-290fc2315a6b7f2d2bc6b98318783e3278a97453.tar.gz
gnuradio-290fc2315a6b7f2d2bc6b98318783e3278a97453.tar.bz2
gnuradio-290fc2315a6b7f2d2bc6b98318783e3278a97453.zip
Removed omnithreads dependency from libusrp2
Diffstat (limited to 'usrp2/host/lib/ring.cc')
-rw-r--r--usrp2/host/lib/ring.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/usrp2/host/lib/ring.cc b/usrp2/host/lib/ring.cc
index 3c45821f8..d0048418c 100644
--- a/usrp2/host/lib/ring.cc
+++ b/usrp2/host/lib/ring.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,7 +29,7 @@ namespace usrp2 {
ring::ring(unsigned int entries)
: d_max(entries), d_read_ind(0), d_write_ind(0), d_ring(entries),
- d_mutex(), d_not_empty(&d_mutex)
+ d_mutex(), d_not_empty()
{
for (unsigned int i = 0; i < entries; i++) {
d_ring[i].d_base = 0;
@@ -40,15 +40,15 @@ namespace usrp2 {
void
ring::wait_for_not_empty()
{
- omni_mutex_lock l(d_mutex);
+ gruel::scoped_lock l(d_mutex);
while (empty())
- d_not_empty.wait();
+ d_not_empty.wait(l);
}
bool
ring::enqueue(void *p, size_t len)
{
- omni_mutex_lock l(d_mutex);
+ gruel::scoped_lock l(d_mutex);
if (full())
return false;
@@ -56,14 +56,14 @@ namespace usrp2 {
d_ring[d_write_ind].d_base = p;
inc_write_ind();
- d_not_empty.signal();
+ d_not_empty.notify_one();
return true;
}
bool
ring::dequeue(void **p, size_t *len)
{
- omni_mutex_lock l(d_mutex);
+ gruel::scoped_lock l(d_mutex);
if (empty())
return false;