From f84be14677b50fb0bf9d3ffd01f7661eada6e000 Mon Sep 17 00:00:00 2001
From: Alex Hultman <alexhultman@localhost.localdomain>
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 40db6ed2..43c53d96 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 e3d68c66..461dc3ea 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++)
-- 
GitLab