[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r9493 - gnuradio/trunk/gnuradio-core/src/lib/general
From: |
eb |
Subject: |
[Commit-gnuradio] r9493 - gnuradio/trunk/gnuradio-core/src/lib/general |
Date: |
Wed, 3 Sep 2008 11:00:14 -0600 (MDT) |
Author: eb
Date: 2008-09-03 11:00:14 -0600 (Wed, 03 Sep 2008)
New Revision: 9493
Modified:
gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.cc
gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.h
Log:
export gri_fft planning mutex
Modified: gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.cc 2008-09-03
16:12:06 UTC (rev 9492)
+++ gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.cc 2008-09-03
17:00:14 UTC (rev 9493)
@@ -28,12 +28,16 @@
#include <stdio.h>
#include <cassert>
#include <stdexcept>
-#include <boost/thread.hpp>
-typedef boost::mutex::scoped_lock scoped_lock;
-static boost::mutex s_planning_mutex;
+boost::mutex &
+gri_fft_planner::mutex()
+{
+ static boost::mutex s_planning_mutex;
+ return s_planning_mutex;
+}
+
static char *
wisdom_filename ()
{
@@ -86,7 +90,7 @@
gri_fft_complex::gri_fft_complex (int fft_size, bool forward)
{
// Hold global mutex during plan construction and destruction.
- scoped_lock lock(s_planning_mutex);
+ gri_fft_planner::scoped_lock lock(gri_fft_planner::mutex());
assert (sizeof (fftwf_complex) == sizeof (gr_complex));
@@ -121,7 +125,7 @@
gri_fft_complex::~gri_fft_complex ()
{
// Hold global mutex during plan construction and destruction.
- scoped_lock lock(s_planning_mutex);
+ gri_fft_planner::scoped_lock lock(gri_fft_planner::mutex());
fftwf_destroy_plan ((fftwf_plan) d_plan);
fftwf_free (d_inbuf);
@@ -139,7 +143,7 @@
gri_fft_real_fwd::gri_fft_real_fwd (int fft_size)
{
// Hold global mutex during plan construction and destruction.
- scoped_lock lock(s_planning_mutex);
+ gri_fft_planner::scoped_lock lock(gri_fft_planner::mutex());
assert (sizeof (fftwf_complex) == sizeof (gr_complex));
@@ -173,7 +177,7 @@
gri_fft_real_fwd::~gri_fft_real_fwd ()
{
// Hold global mutex during plan construction and destruction.
- scoped_lock lock(s_planning_mutex);
+ gri_fft_planner::scoped_lock lock(gri_fft_planner::mutex());
fftwf_destroy_plan ((fftwf_plan) d_plan);
fftwf_free (d_inbuf);
Modified: gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.h
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.h 2008-09-03
16:12:06 UTC (rev 9492)
+++ gnuradio/trunk/gnuradio-core/src/lib/general/gri_fft.h 2008-09-03
17:00:14 UTC (rev 9493)
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2003 Free Software Foundation, Inc.
+ * Copyright 2003,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -27,12 +27,25 @@
*/
#include <gr_complex.h>
+#include <boost/thread.hpp>
/*!
+ * \brief Export reference to planner mutex for those apps that
+ * want to use FFTW w/o using the gri_fftw* classes.
+ */
+class gri_fft_planner {
+public:
+ typedef boost::mutex::scoped_lock scoped_lock;
+ /*!
+ * Return reference to planner mutex
+ */
+ static boost::mutex &mutex();
+};
+
+/*!
* \brief FFT: complex in, complex out
* \ingroup dft
*/
-
class gri_fft_complex {
int d_fft_size;
gr_complex *d_inbuf;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r9493 - gnuradio/trunk/gnuradio-core/src/lib/general,
eb <=