I'm having a problem calling functions in a C extension module that uses PyGILState_Ensure() and PyGILState_Release() from a thread created with thread.start_new_thread(). A deadlock occurs in PyGILState_Ensure() because it doesn't know anything about the thread state created by start_new_thread(). Therefore it creates a new one and then calls PyEval_RestoreThread() - but it already holds the GIL and so deadlocks. I would expect the threading PyGILState_Ensure() to know about all thread states - not just the ones it creates itself. Is this a bug, feature, or misunderstanding on my part? This is with Python 2.4a2. Thanks, Phil
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4