X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/b3c87d862e8f44754113ee9bf374e9fcfbc9e7ac..bd3ac9d3941e37e9f1fde86942379bad44810139:/sig.pyx diff --git a/sig.pyx b/sig.pyx index 937f29b..e10913c 100644 --- a/sig.pyx +++ b/sig.pyx @@ -15,12 +15,12 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # mLib/Python is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with mLib/Python; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -36,7 +36,7 @@ cdef class SelSignal: if sig < 0 or sig >= signal.NSIG: raise ValueError, 'signal number out of range' me.signal = sig - me._signalledproc = _checkcallable(signalledproc, 'signalled proc') + me._signalled = _checkcallable(signalledproc, 'signalled proc') me._activep = 0 def __dealloc__(me): if me._activep: @@ -76,14 +76,10 @@ cdef class SelSignal: def signalled(me): return _maybecall(me._signalled, ()) -cdef void _sigfunc2(void *arg): +cdef void _sigfunc(int sig, void *arg): cdef SelSignal s s = arg s.signalled() -cdef void _sigfunc(int sig, void *arg): - PyEval_AcquireLock() - _sigfunc2(arg) - PyEval_ReleaseLock() sig_init(&_sel)