summaryrefslogtreecommitdiff
path: root/gr-trellis/lib/siso_f_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/lib/siso_f_impl.cc')
-rw-r--r--gr-trellis/lib/siso_f_impl.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/gr-trellis/lib/siso_f_impl.cc b/gr-trellis/lib/siso_f_impl.cc
index a1c7ab3320..2af5a21710 100644
--- a/gr-trellis/lib/siso_f_impl.cc
+++ b/gr-trellis/lib/siso_f_impl.cc
@@ -91,28 +91,50 @@ namespace gr {
void siso_f_impl::set_FSM(const fsm &FSM)
{
+ gr::thread::scoped_lock guard(d_setlock);
d_FSM=FSM;
recalculate();
}
void siso_f_impl::set_K(int K)
{
+ gr::thread::scoped_lock guard(d_setlock);
d_K=K;
recalculate();
}
void siso_f_impl::set_POSTI(bool POSTI)
{
+ gr::thread::scoped_lock guard(d_setlock);
d_POSTI = POSTI;
recalculate();
}
void siso_f_impl::set_POSTO(bool POSTO)
{
+ gr::thread::scoped_lock guard(d_setlock);
d_POSTO = POSTO;
recalculate();
}
+ void siso_f_impl::set_S0(int S0)
+ {
+ gr::thread::scoped_lock guard(d_setlock);
+ d_S0 = S0;
+ }
+
+ void siso_f_impl::set_SK(int SK)
+ {
+ gr::thread::scoped_lock guard(d_setlock);
+ d_SK = SK;
+ }
+
+ void siso_f_impl::set_SISO_TYPE(trellis::siso_type_t type)
+ {
+ gr::thread::scoped_lock guard(d_setlock);
+ d_SISO_TYPE = type;
+ }
+
siso_f_impl::~siso_f_impl()
{
}
@@ -148,6 +170,7 @@ namespace gr {
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
+ gr::thread::scoped_lock guard(d_setlock);
int nstreams = output_items.size();
//printf("general_work:Streams: %d\n",nstreams);
int multiple;