From: root Date: Tue, 11 Dec 2007 03:18:33 +0000 (+0000) Subject: fucked up++ watchers again X-Git-Tag: rel-1_8~6 X-Git-Url: https://git.llucax.com/software/libev.git/commitdiff_plain/6b6af45b9896cf5a87be2cec6239b7d254db2e10?hp=7c3494003f656e9809ed0729b2d408f68b4b610d fucked up++ watchers again --- diff --git a/ev++.h b/ev++.h index 71a3d52..604340e 100644 --- a/ev++.h +++ b/ev++.h @@ -22,10 +22,10 @@ namespace ev { ev_init (this, 0); } - void set_ (void *data, void (*cb)(EV_P_ watcher *w, int revents)) + void set_ (void *data, void (*cb)(EV_P_ ev_watcher *w, int revents)) { this->data = data; - ev_set_cb (static_cast(this), cb); + ev_set_cb (static_cast(this), cb); } template @@ -35,10 +35,10 @@ namespace ev { } template - static void method_thunk (EV_P_ watcher *w, int revents) + static void method_thunk (EV_P_ ev_watcher *w, int revents) { K *obj = static_cast(w->data); - (obj->*method) (*w, revents); + (obj->*method) (*static_cast(w), revents); } template @@ -48,10 +48,10 @@ namespace ev { } template - static void const_method_thunk (EV_P_ watcher *w, int revents) + static void const_method_thunk (EV_P_ ev_watcher *w, int revents) { K *obj = static_cast(w->data); - (obj->*method) (*w, revents); + (static_cast(w->data)->*method) (*static_cast(w), revents); } template @@ -61,9 +61,9 @@ namespace ev { } template - static void function_thunk (EV_P_ watcher *w, int revents) + static void function_thunk (EV_P_ ev_watcher *w, int revents) { - function (*w, revents); + function (*static_cast(w), revents); } void operator ()(int events = EV_UNDEF) diff --git a/ev.c b/ev.c index 3fc528a..654821b 100644 --- a/ev.c +++ b/ev.c @@ -1233,7 +1233,7 @@ periodics_reify (EV_P) /* first reschedule or stop timer */ if (w->reschedule_cb) { - ((WT)w)->at = w->reschedule_cb (w, ev_rt_now + 0.0001); + ((WT)w)->at = w->reschedule_cb (w, ev_rt_now + 0.0001220703125 /* 1/8192 */); assert (("ev_periodic reschedule callback returned time in the past", ((WT)w)->at > ev_rt_now)); downheap ((WT *)periodics, periodiccnt, 0); }