diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-02-26 13:14:39 -0500 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-02-26 13:14:39 -0500 |
commit | 70904eb3086578ac44167a90621108fa98a01e78 (patch) | |
tree | e17ff0a233e8039318bee71bd5fa2238d902fe97 | |
parent | d0d1348a08db382e1497e4a929f2ec22b35b8f0a (diff) |
analog: adding mutex locking when updating the fastnoise source parameters.
-rw-r--r-- | gr-analog/lib/fastnoise_source_X_impl.cc.t | 18 | ||||
-rw-r--r-- | gr-analog/lib/fastnoise_source_X_impl.h.t | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/gr-analog/lib/fastnoise_source_X_impl.cc.t b/gr-analog/lib/fastnoise_source_X_impl.cc.t index f33e7afa39..25ad8073aa 100644 --- a/gr-analog/lib/fastnoise_source_X_impl.cc.t +++ b/gr-analog/lib/fastnoise_source_X_impl.cc.t @@ -57,6 +57,22 @@ namespace gr { } void + @IMPL_NAME@::set_type(noise_type_t type) + { + gruel::scoped_lock l(d_setlock); + d_type = type; + generate(); + } + + void + @IMPL_NAME@::set_amplitude(float ampl) + { + gruel::scoped_lock l(d_setlock); + d_ampl = ampl; + generate(); + } + + void @IMPL_NAME@::generate() { int noutput_items = d_samples.size(); @@ -107,6 +123,8 @@ namespace gr { gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { + gruel::scoped_lock l(d_setlock); + @TYPE@ *out = (@TYPE@*)output_items[0]; for(int i=0; i<noutput_items; i++) { diff --git a/gr-analog/lib/fastnoise_source_X_impl.h.t b/gr-analog/lib/fastnoise_source_X_impl.h.t index 7a0f792683..3c5dc106a2 100644 --- a/gr-analog/lib/fastnoise_source_X_impl.h.t +++ b/gr-analog/lib/fastnoise_source_X_impl.h.t @@ -43,8 +43,8 @@ namespace gr { @IMPL_NAME@(noise_type_t type, float ampl, long seed, long samples); ~@IMPL_NAME@(); - void set_type(noise_type_t type) { d_type = type; generate(); } - void set_amplitude(float ampl) { d_ampl = ampl; generate(); } + void set_type(noise_type_t type); + void set_amplitude(float ampl); void generate(); noise_type_t type() const { return d_type; } |