Browse Source

fucked up++ watchers again

master
Marc Alexander Lehmann 14 years ago
parent
commit
ab41c6612e
  1. 16
      ev++.h
  2. 2
      ev.c

16
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<watcher *>(this), cb);
ev_set_cb (static_cast<ev_watcher *>(this), cb);
}
template<class K, void (K::*method)(watcher &w, int)>
@ -35,10 +35,10 @@ namespace ev {
}
template<class K, void (K::*method)(watcher &w, int)>
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<K *>(w->data);
(obj->*method) (*w, revents);
(obj->*method) (*static_cast<watcher *>(w), revents);
}
template<class K, void (K::*method)(watcher &w, int) const>
@ -48,10 +48,10 @@ namespace ev {
}
template<class K, void (K::*method)(watcher &w, int) const>
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<K *>(w->data);
(obj->*method) (*w, revents);
(static_cast<K *>(w->data)->*method) (*static_cast<watcher *>(w), revents);
}
template<void (*function)(watcher &w, int)>
@ -61,9 +61,9 @@ namespace ev {
}
template<void (*function)(watcher &w, int)>
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<watcher *>(w), revents);
}
void operator ()(int events = EV_UNDEF)

2
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);
}

Loading…
Cancel
Save