# Request for feature in GRC

**URL:** <https://www.ruby-forum.com/t/request-for-feature-in-grc/232877>\
**Category:** GNU Radio\
**Created:** [November 1, 2014, 6:50pm UTC](https://www.ruby-forum.com/t/request-for-feature-in-grc/232877 "2014-11-01T18:50:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [November 1, 2014, 6:50pm UTC](https://www.ruby-forum.com/t/request-for-feature-in-grc/232877/1 "2014-11-01T18:50:58Z")

</div>

I recently had a problem with GRC where two threads were accessing  
a set\_variable callback creating some unwanted behaviour  
(actually crashing the xmlrpc server).  
I fixed it by editing the python file created by GRC and locking the  
set\_  
callback.

I thought that this can be a separate and interesting feature of the  
“variable” block in GRC, ie, a selector that selects if the user wants  
it  
to be “protected”.  
Then a piece of code like below will be generated:

self.lock = threading.Lock()

```
def set_variable(self, value):
    self.lock.acquire()
    self.value = value
    other set_ cllabacks
    self.lock.release()

```

best,  
Achilleas

---

<div class="post-metadata">

**Author:** ![Achilleas\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/74df32/32.png) [@Achilleas\_A](https://www.ruby-forum.com/u/Achilleas_A)\
**Post date:** [November 2, 2014, 11:52am UTC](https://www.ruby-forum.com/t/request-for-feature-in-grc/232877/2 "2014-11-02T11:52:26Z")

</div>

Achilleas,

you can put feature requests on our issue tracker, where they are less  
likely to get lost than in our list archives. There’s also the roadmap:  
[http://gnuradio.org/redmine/projects/gnuradio/wiki/GRCroadmap](http://gnuradio.org/redmine/projects/gnuradio/wiki/GRCroadmap).

Of course, the GRC team is pretty understaffed, and could probably take  
on a couple more volunteers _cough cough_.

Cheers,  
M
