]> sigrok.org Git - libsigrokdecode.git/commit
ir_irmp: wrapper lib, add locking and Python threading support
authorGerhard Sittig <redacted>
Sun, 26 Dec 2021 07:23:27 +0000 (08:23 +0100)
committerGerhard Sittig <redacted>
Sun, 26 Dec 2021 12:45:09 +0000 (13:45 +0100)
commit7cfa9f7aa2426c617990f3ecfcabed8765aff46c
treee3edca5bcd18328b0cd91049a6bbd0aa3c666aa3
parentde219b2b77dba06815869823789458581500ca03
ir_irmp: wrapper lib, add locking and Python threading support

The IRMP core library is not thread safe (known limitation, heritage of
the AVR firmware origin). Add a mutex so that calling applications can
lock IR decoder core instances. Allow Python threading while waiting for
the locks, we can safely assume that this IRMP wrapper is used in the
sigrok context which does require Python for decoders. Add my copyright
for the non-trivial changes.

This implementation uses glib for locking to improve portability, which
already is a dependency of the libsigrokdecode component. This version
uses belt and suspenders by implementing a constructor as well as adding
auto init calls to each of the public API code paths. The client ID is
not an essential requirement, but useful during application maintenance.
Makefile.am
configure.ac
irmp/irmp-main-sharedlib.c
irmp/irmp-main-sharedlib.h