--- EV/EV.xs 2007/12/03 13:41:24 1.86 +++ EV/EV.xs 2007/12/07 18:09:38 1.87 @@ -610,14 +610,12 @@ { int active = ev_is_active (w); - if (new_priority < EV_MINPRI || new_priority > EV_MAXPRI) - croak ("watcher priority out of range, value must be between %d and %d, inclusive", EV_MINPRI, EV_MAXPRI); - if (active) { /* grrr. */ PUSHMARK (SP); XPUSHs (ST (0)); + PUTBACK; call_method ("stop", G_DISCARD | G_VOID); } @@ -627,6 +625,7 @@ { PUSHMARK (SP); XPUSHs (ST (0)); + PUTBACK; call_method ("start", G_DISCARD | G_VOID); } }