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 = <int>s
+ tv.tv_usec = <int>(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, <void *>me)