summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-06-15 17:24:42 -0400
committerTom Rondeau <trondeau@vt.edu>2013-06-15 17:24:42 -0400
commitf2f6bb223fa04c27291a2d4ea6c880e0abd973c3 (patch)
tree69daca42503562fdb0ec70c7128f7a298d9b92db /gnuradio-runtime/lib
parentd9062de985924f171382156320f726281b5e252e (diff)
runtime: ignore last commit. Problem was an extra lock inside the test routine that shouldn't have been there.
Diffstat (limited to 'gnuradio-runtime/lib')
-rw-r--r--gnuradio-runtime/lib/vmcircbuf.cc2
-rw-r--r--gnuradio-runtime/lib/vmcircbuf_sysv_shm.cc4
2 files changed, 4 insertions, 2 deletions
diff --git a/gnuradio-runtime/lib/vmcircbuf.cc b/gnuradio-runtime/lib/vmcircbuf.cc
index e4e1590205..315d409c5d 100644
--- a/gnuradio-runtime/lib/vmcircbuf.cc
+++ b/gnuradio-runtime/lib/vmcircbuf.cc
@@ -292,8 +292,6 @@ namespace gr {
{
bool ok = false;
- gr::thread::scoped_lock guard(s_vm_mutex);
-
std::vector<vmcircbuf_factory *> all = all_factories();
for(unsigned int i = 0; i < all.size (); i++)
diff --git a/gnuradio-runtime/lib/vmcircbuf_sysv_shm.cc b/gnuradio-runtime/lib/vmcircbuf_sysv_shm.cc
index 0d7e9b7d34..484b1a914e 100644
--- a/gnuradio-runtime/lib/vmcircbuf_sysv_shm.cc
+++ b/gnuradio-runtime/lib/vmcircbuf_sysv_shm.cc
@@ -46,6 +46,8 @@ namespace gr {
vmcircbuf_sysv_shm::vmcircbuf_sysv_shm(int size)
: gr::vmcircbuf(size)
{
+ gr::thread::scoped_lock guard(s_vm_mutex);
+
#if !defined(HAVE_SYS_SHM_H)
fprintf(stderr, "gr::vmcircbuf_sysv_shm: sysv shared memory is not available\n");
throw std::runtime_error("gr::vmcircbuf_sysv_shm");
@@ -150,6 +152,8 @@ namespace gr {
vmcircbuf_sysv_shm::~vmcircbuf_sysv_shm()
{
+ gr::thread::scoped_lock guard(s_vm_mutex);
+
#if defined(HAVE_SYS_SHM_H)
if(shmdt(d_base - gr::pagesize()) == -1
|| shmdt(d_base) == -1