diff options
| author | David Wagner <david.wagner@intel.com> | 2015-04-23 17:44:31 +0200 | 
|---|---|---|
| committer | Eric Laurent <elaurent@google.com> | 2015-04-24 13:39:15 -0700 | 
| commit | 009c8fa7be02f9a986e5cf078ce40e1188738c89 (patch) | |
| tree | f7cc56bca49df2d5354d6e71bb4bba00b026265c | |
| parent | 12d9c82b31650d307e3834e435e1f5f54e3832d0 (diff) | |
| download | external_parameter-framework-009c8fa7be02f9a986e5cf078ce40e1188738c89.zip external_parameter-framework-009c8fa7be02f9a986e5cf078ce40e1188738c89.tar.gz external_parameter-framework-009c8fa7be02f9a986e5cf078ce40e1188738c89.tar.bz2  | |
python bindings: activate thread-safety code generation
The Parameter Framework may spawn a thread listening to request for command
execution. In this case, whenever a command produces a log, a callback function
provided by the client is called. When the client is a python script using the
python bindings, this causes a python function to be called in a different
context than the main thread. This can only work safely if a specific lock is
held before hand; see
    https://docs.python.org/2/c-api/init.html#non-python-created-threads
Fortunately, SWIG can generate the corresponding code automatically using
    %module(threads=1, ...) mymodule
Signed-off-by: David Wagner <david.wagner@intel.com>
| -rw-r--r-- | bindings/python/pfw.i | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/bindings/python/pfw.i b/bindings/python/pfw.i index 9dbccbd..2d39228 100644 --- a/bindings/python/pfw.i +++ b/bindings/python/pfw.i @@ -32,7 +32,7 @@  // like derived C++ classes (calls to virtual methods will be properly  // forwarded to Python) - only on classes for which is it specified, see  // ILogger below.. -%module(directors="1") PyPfw +%module(directors="1", threads="1") PyPfw  %feature("director:except") {      if ($error != NULL) {  | 
