chiark
/
gitweb
/
~mdw
/
mLib-python
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Acquire and release the GIL around select callbacks.
[mLib-python]
/
sig.pyx
diff --git
a/sig.pyx
b/sig.pyx
index 17237f349a990f920328bc0d9b217143c141af08..937f29bd0d16f51129f8409d635e8812ebd3e788 100644
(file)
--- a/
sig.pyx
+++ b/
sig.pyx
@@
-76,10
+76,14
@@
cdef class SelSignal:
def signalled(me):
return _maybecall(me._signalled, ())
def signalled(me):
return _maybecall(me._signalled, ())
-cdef void _sigfunc
(int sig,
void *arg):
+cdef void _sigfunc
2(
void *arg):
cdef SelSignal s
s = <SelSignal>arg
s.signalled()
cdef SelSignal s
s = <SelSignal>arg
s.signalled()
+cdef void _sigfunc(int sig, void *arg):
+ PyEval_AcquireLock()
+ _sigfunc2(arg)
+ PyEval_ReleaseLock()
sig_init(&_sel)
sig_init(&_sel)