Fix GIL when waiting for tag

This commit is contained in:
Ondrej Mikle 2017-10-29 16:34:41 +01:00
parent 8a35b8b884
commit 1c8281f428
2 changed files with 6 additions and 1 deletions

View file

@ -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

View file

@ -2,6 +2,8 @@
#include <cassert>
#include <memory>
#include <Python.h>
#include <nfc/nfc.h>
#include <nfc/nfc-types.h>
#include <freefare.h>
@ -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");
}