From f2ee57e734e26768292d6bd541a306cba30b23ba Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Sat, 20 Feb 2016 11:58:49 +0100 Subject: [PATCH] Don't destroy ev/uv loops if they haven't been created yet --- lib/libev.c | 3 +++ lib/libuv.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/lib/libev.c b/lib/libev.c index 40db6ed2a..43c53d96a 100644 --- a/lib/libev.c +++ b/lib/libev.c @@ -138,6 +138,9 @@ lws_libev_destroyloop(struct lws_context *context, int tsi) if (!(context->options & LWS_SERVER_OPTION_LIBEV)) return; + if (!pt->io_loop_ev) + return; + ev_io_stop(pt->io_loop_ev, &pt->w_accept.ev_watcher); if (context->use_ev_sigint) ev_signal_stop(pt->io_loop_ev, diff --git a/lib/libuv.c b/lib/libuv.c index e3d68c668..461dc3eae 100644 --- a/lib/libuv.c +++ b/lib/libuv.c @@ -124,6 +124,9 @@ lws_libuv_destroyloop(struct lws_context *context, int tsi) if (!(context->options & LWS_SERVER_OPTION_LIBUV)) return; + if (!pt->io_loop_uv) + return; + if (context->use_ev_sigint) uv_signal_stop(&pt->w_sigint.uv_watcher); for (m = 0; m < ARRAY_SIZE(sigs); m++)