Acquire and release the GIL around select callbacks.
[mLib-python] / sel-file.pyx
index 72ff166..aba288f 100644 (file)
@@ -88,9 +88,13 @@ cdef class SelFile:
   def ready(me):
     return _maybecall(me._ready, ())
 
-cdef void _filefunc(int fd, unsigned mode, void *arg):
+cdef void _filefunc2(void *arg):
   cdef SelFile sf
   sf = <SelFile>arg
   sf.ready()
+cdef void _filefunc(int fd, unsigned mode, void *arg):
+  PyEval_AcquireLock()
+  _filefunc2(arg)
+  PyEval_ReleaseLock()
 
 #----- That's all, folks ----------------------------------------------------