From 36c3f0a064cdce1524e85147ac754c5a9621f372 Mon Sep 17 00:00:00 2001 From: Johnathan Corgan Date: Sat, 10 Oct 2009 16:39:49 -0700 Subject: Use gruel::mutex instead of pthread_mutex in gr_histo_sink_f. Patch-by: Don Ward --- gnuradio-core/src/lib/io/gr_histo_sink_f.cc | 11 +++-------- gnuradio-core/src/lib/io/gr_histo_sink_f.h | 4 ++-- 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'gnuradio-core/src/lib') diff --git a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc index a923a7e45..2885fe428 100644 --- a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc +++ b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc @@ -53,7 +53,6 @@ gr_histo_sink_f::gr_histo_sink_f (gr_msg_queue_sptr msgq) : gr_sync_block ("histo_sink_f", gr_make_io_signature (1, 1, sizeof (float)), gr_make_io_signature (0, 0, 0)), d_msgq (msgq), d_num_bins(11), d_frame_size(1000), d_sample_count(0), d_bins(NULL), d_samps(NULL) { - pthread_mutex_init(&d_mutex, 0); //allocate arrays and clear set_num_bins(d_num_bins); set_frame_size(d_frame_size); @@ -61,7 +60,6 @@ gr_histo_sink_f::gr_histo_sink_f (gr_msg_queue_sptr msgq) gr_histo_sink_f::~gr_histo_sink_f (void) { - pthread_mutex_destroy(&d_mutex); delete [] d_samps; delete [] d_bins; } @@ -72,7 +70,7 @@ gr_histo_sink_f::work (int noutput_items, gr_vector_void_star &output_items) { const float *in = (const float *) input_items[0]; - pthread_mutex_lock(&d_mutex); + gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function for (unsigned int i = 0; i < (unsigned int)noutput_items; i++){ d_samps[d_sample_count] = in[i]; d_sample_count++; @@ -82,7 +80,6 @@ gr_histo_sink_f::work (int noutput_items, clear(); } } - pthread_mutex_unlock(&d_mutex); return noutput_items; } @@ -148,22 +145,20 @@ gr_histo_sink_f::get_num_bins(void){ **************************************************/ void gr_histo_sink_f::set_frame_size(unsigned int frame_size){ - pthread_mutex_lock(&d_mutex); + gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function d_frame_size = frame_size; /* allocate a new sample array */ delete [] d_samps; d_samps = new float[d_frame_size]; clear(); - pthread_mutex_unlock(&d_mutex); } void gr_histo_sink_f::set_num_bins(unsigned int num_bins){ - pthread_mutex_lock(&d_mutex); + gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function d_num_bins = num_bins; /* allocate a new bin array */ delete [] d_bins; d_bins = new unsigned int[d_num_bins]; clear(); - pthread_mutex_unlock(&d_mutex); } diff --git a/gnuradio-core/src/lib/io/gr_histo_sink_f.h b/gnuradio-core/src/lib/io/gr_histo_sink_f.h index 640398c60..8ba45ec55 100644 --- a/gnuradio-core/src/lib/io/gr_histo_sink_f.h +++ b/gnuradio-core/src/lib/io/gr_histo_sink_f.h @@ -25,7 +25,7 @@ #include #include -#include +#include class gr_histo_sink_f; typedef boost::shared_ptr gr_histo_sink_f_sptr; @@ -45,7 +45,7 @@ private: unsigned int d_sample_count; unsigned int *d_bins; float *d_samps; - pthread_mutex_t d_mutex; + gruel::mutex d_mutex; friend gr_histo_sink_f_sptr gr_make_histo_sink_f (gr_msg_queue_sptr msgq); gr_histo_sink_f (gr_msg_queue_sptr msgq); -- cgit From 212f623428ddfcd17021f4b431750305024626a1 Mon Sep 17 00:00:00 2001 From: Johnathan Corgan Date: Sat, 10 Oct 2009 16:47:09 -0700 Subject: Add flags and dependencies for MinGW/MSYS. Patch-by: Don Ward --- gnuradio-core/src/lib/missing/Makefile.am | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gnuradio-core/src/lib') diff --git a/gnuradio-core/src/lib/missing/Makefile.am b/gnuradio-core/src/lib/missing/Makefile.am index 08e521cb3..238370910 100644 --- a/gnuradio-core/src/lib/missing/Makefile.am +++ b/gnuradio-core/src/lib/missing/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2003,2004,2008 Free Software Foundation, Inc. +# Copyright 2003,2004,2008,2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -33,6 +33,14 @@ EXTRA_DIST = \ noinst_LTLIBRARIES = libmissing.la -libmissing_la_SOURCES = \ - bug_work_around_8.cc \ +libmissing_la_common_SOURCES = \ + bug_work_around_8.cc + +powerpc_CODE = \ posix_memalign.cc + +if MD_CPU_powerpc +libmissing_la_SOURCES = $(libmissing_la_common_SOURCES) $(powerpc_CODE) +else +libmissing_la_SOURCES = $(libmissing_la_common_SOURCES) +endif -- cgit