diff options
author | Thomas Habets <thomas@habets.se> | 2019-12-23 14:26:13 +0000 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-02-15 15:14:00 +0100 |
commit | 9c96244fe6598f6284ef3393b52563064edd65ce (patch) | |
tree | 7c091d7e39137d445c9040d6c6cb9a978a470297 | |
parent | digital/map_bb: Fix buffer overflow (diff) | |
download | gnuradio-9c96244fe6598f6284ef3393b52563064edd65ce.tar.xz gnuradio-9c96244fe6598f6284ef3393b52563064edd65ce.zip |
gr-digital/map_bb: Make .map() thread safe
-rw-r--r-- | gr-digital/lib/map_bb_impl.cc | 1 | ||||
-rw-r--r-- | gr-digital/lib/map_bb_impl.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/gr-digital/lib/map_bb_impl.cc b/gr-digital/lib/map_bb_impl.cc index 8a613b1cd..14b0ec526 100644 --- a/gr-digital/lib/map_bb_impl.cc +++ b/gr-digital/lib/map_bb_impl.cc @@ -61,6 +61,7 @@ void map_bb_impl::set_map(const std::vector<int>& map) std::vector<int> map_bb_impl::map() const { std::vector<int> m(s_map_size); + gr::thread::scoped_lock guard(d_mutex); for (unsigned i = 0; i < s_map_size; i++) { m[i] = d_map[i]; } diff --git a/gr-digital/lib/map_bb_impl.h b/gr-digital/lib/map_bb_impl.h index 1137b4839..6cb4753ae 100644 --- a/gr-digital/lib/map_bb_impl.h +++ b/gr-digital/lib/map_bb_impl.h @@ -34,7 +34,7 @@ class map_bb_impl : public map_bb private: static const size_t s_map_size = 0x100; unsigned char d_map[s_map_size]; - gr::thread::mutex d_mutex; + mutable gr::thread::mutex d_mutex; public: map_bb_impl(const std::vector<int>& map); |