diff --git a/lib/event-libs/libev/libev.c b/lib/event-libs/libev/libev.c index 9770cf1c2..f58b8f914 100644 --- a/lib/event-libs/libev/libev.c +++ b/lib/event-libs/libev/libev.c @@ -235,11 +235,8 @@ elops_destroy_pt_ev(struct lws_context *context, int tsi) ev_timer_stop(pt->ev.io_loop, &pt->ev.hrtimer); ev_idle_stop(pt->ev.io_loop, &pt->ev.idle); - if (!pt->event_loop_foreign) { + if (!pt->event_loop_foreign) ev_signal_stop(pt->ev.io_loop, &pt->w_sigint.ev.watcher); - - ev_loop_destroy(pt->ev.io_loop); - } } static int diff --git a/minimal-examples/http-server/minimal-http-server-eventlib-foreign/minimal-http-server-eventlib-foreign.c b/minimal-examples/http-server/minimal-http-server-eventlib-foreign/minimal-http-server-eventlib-foreign.c index 4317e1484..332f08c5b 100644 --- a/minimal-examples/http-server/minimal-http-server-eventlib-foreign/minimal-http-server-eventlib-foreign.c +++ b/minimal-examples/http-server/minimal-http-server-eventlib-foreign/minimal-http-server-eventlib-foreign.c @@ -306,7 +306,7 @@ foreign_event_loop_cleanup_libev(void) ev_timer_stop(loop_ev, &timer_outer_ev); ev_signal_stop(loop_ev, &sighandler_ev); - ev_run(loop_ev, UV_RUN_DEFAULT); + ev_run(loop_ev, 0); ev_loop_destroy(loop_ev); }