diff --git a/brmdoor_nfc.config.sample b/brmdoor_nfc.config.sample index 7eef831..b2bdfb6 100644 --- a/brmdoor_nfc.config.sample +++ b/brmdoor_nfc.config.sample @@ -46,7 +46,7 @@ reconnect_delay = 300 # Controls showing status of "OPEN/CLOSE" switch that is connected to some GPIO pin # Changes topic of connected IRC channels if IRC is enabled # There is no point in enabling this if you disabled IRC -# Not yet usable - do not use because of GIL and python-irc not retrieving topic from channel +# Still has one bug - python-irc won't retrieve properly topic # enabled - True/False # status_file - file in sysfs that contains 1 or 0 defining the state of button # open_value - which value in status_file respresents the switch being in "OPEN" position, 1 character diff --git a/nfc_smartcard.cpp b/nfc_smartcard.cpp index ad37b81..89ac373 100644 --- a/nfc_smartcard.cpp +++ b/nfc_smartcard.cpp @@ -2,6 +2,8 @@ #include #include +#include + #include #include #include @@ -102,7 +104,10 @@ std::string NFCDevice::scanUID() throw(NFCError) throw NFCError("NFC device not opened"); } + Py_BEGIN_ALLOW_THREADS res = nfc_initiator_poll_target(_nfcDevice, _modulations, _modulationsLen, pollNr, pollPeriod, &nt); + Py_END_ALLOW_THREADS + if (res < 0) { throw NFCError("NFC polling error"); }