cec.init freezes when fails, suggested fix
robbiepy opened this issue · comments
The CEC adapter can only be open by one caller at any one time.
If init() is called when the adapter is already open, the current code is meant to destroy the adapter resource and then raise an exception. However, I found that the code freezes when it attempts to destroy the adapter.
CECDestroy(CEC_adapter);
CEC_adapter = NULL;
I found the following code fixed it for me:
Py_BEGIN_ALLOW_THREADS
CECDestroy(CEC_adapter);
CEC_adapter = NULL;
Py_END_ALLOW_THREADS
Ok; I've pushed an updated version to help with this: 227c69b
Please give that a try and let me know if it helps.
Ok; I've pushed an updated version to help with this: 227c69b
Please give that a try and let me know if it helps.
Yes that fixes it. Thank you.