From ff4f50da8c13f026c1d46e0352d13feee660d9e3 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 14 Feb 2010 19:23:19 +0000 Subject: forgot to ev_stop in ev_embed_stop --- Changes | 2 ++ ev.c | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 962eab6..1aaebaa 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,7 @@ Revision history for libev, a high-performance and full-featured event loop. + - ev_embed_stop did not correctly stop the watcher (very good + testcase by Vladimir Timofeev). - applied win32 fixes by Michael Lenaghan. - remove dependency on sys/queue.h on freebsd (patch by Vanilla Hsu). - configure now prepends -O3, not appends it, so one can still diff --git a/ev.c b/ev.c index 6ac8367..f89d7fd 100644 --- a/ev.c +++ b/ev.c @@ -2590,11 +2590,11 @@ ev_timer_stop (EV_P_ ev_timer *w) } } - EV_FREQUENT_CHECK; - ev_at (w) -= mn_now; ev_stop (EV_A_ (W)w); + + EV_FREQUENT_CHECK; } void noinline @@ -2683,9 +2683,9 @@ ev_periodic_stop (EV_P_ ev_periodic *w) } } - EV_FREQUENT_CHECK; - ev_stop (EV_A_ (W)w); + + EV_FREQUENT_CHECK; } void noinline @@ -3431,6 +3431,8 @@ ev_embed_stop (EV_P_ ev_embed *w) ev_prepare_stop (EV_A_ &w->prepare); ev_fork_stop (EV_A_ &w->fork); + ev_stop (EV_A_ (W)w); + EV_FREQUENT_CHECK; } #endif -- cgit v1.2.3