X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/b3c87d862e8f44754113ee9bf374e9fcfbc9e7ac..a510e264770430077bb4dbacd104c6aae19bcdd6:/sel-timer.pyx diff --git a/sel-timer.pyx b/sel-timer.pyx index db61a6c..24d3d24 100644 --- a/sel-timer.pyx +++ b/sel-timer.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. @@ -30,15 +30,15 @@ cdef double _tvtofloat(timeval *tv): cdef void _floattotv(timeval *tv, double t): cdef double s, us us = modf(t, &s) - tv.tv_sec = s - tv.tv_usec = us * 1000000 + tv.tv_sec = s + tv.tv_usec = (us * 1000000) cdef class SelTimer: cdef sel_timer t cdef int _activep cdef readonly double time cdef _timer - def __new__(me, double when, timerproc = None, *hunoz, **hukairz): + def __cinit__(me, double when, timerproc = None, *hunoz, **hukairz): cdef timeval tv _floattotv(&tv, when) sel_addtimer(&_sel, &me.t, &tv, _timerfunc, me) @@ -72,14 +72,10 @@ cdef class SelTimer: def timer(me, now): return _maybecall(me._timer, ()) -cdef void _timerfunc2(timeval *now, void *arg): +cdef void _timerfunc(timeval *now, void *arg): cdef SelTimer st st = arg st._dead() st.timer(_tvtofloat(now)) -cdef void _timerfunc(timeval *now, void *arg): - PyEval_AcquireLock() - _timerfunc2(now, arg) - PyEval_ReleaseLock() #----- That's all, folks ----------------------------------------------------