From 79d55f173046d87ae31f04ad1e6dbafe1c9ae5ca Mon Sep 17 00:00:00 2001
From: Achilleas Anastasopoulos <anastas@umich.edu>
Date: Tue, 14 Oct 2014 10:51:31 -0400
Subject: fixed a bug in pccc encoder/decoder, and added fsm files. Also added
 locks in the set_ methods

---
 gr-trellis/lib/permutation_impl.cc | 9 +++++++++
 1 file changed, 9 insertions(+)

(limited to 'gr-trellis/lib/permutation_impl.cc')

diff --git a/gr-trellis/lib/permutation_impl.cc b/gr-trellis/lib/permutation_impl.cc
index 0d9d3593bf..2fe0ea8cb8 100644
--- a/gr-trellis/lib/permutation_impl.cc
+++ b/gr-trellis/lib/permutation_impl.cc
@@ -55,12 +55,20 @@ namespace gr {
 
     void permutation_impl::set_K(int K)
     {
+      gr::thread::scoped_lock guard(d_setlock);
       d_K=K;
       set_output_multiple(d_K*d_SYMS_PER_BLOCK);
     }
 
+    void permutation_impl::set_TABLE (const std::vector<int> &table) 
+    {
+      gr::thread::scoped_lock guard(d_setlock);
+      d_TABLE = table; 
+    }
+
     void permutation_impl::set_SYMS_PER_BLOCK(int spb)
     {
+      gr::thread::scoped_lock guard(d_setlock);
       d_SYMS_PER_BLOCK=spb;
       set_output_multiple(d_K*d_SYMS_PER_BLOCK);
     }
@@ -74,6 +82,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 = input_items.size();
 
       for(int m=0;m<nstreams;m++) {
-- 
cgit v1.2.3