libev protect when disabled at runtime in server.c

Signed-off-by: Andy Green <andy.green@linaro.org>
diff --git a/lib/server.c b/lib/server.c
index 88bacf4..1a310ad 100644
--- a/lib/server.c
+++ b/lib/server.c
@@ -189,7 +189,9 @@
 		/* one shot */
 		lws_change_pollfd(wsi, LWS_POLLOUT, 0);
 #ifdef LWS_USE_LIBEV
-        ev_io_stop(context->io_loop,(struct ev_io*)&(wsi->w_write));
+		if (LWS_LIBEV_ENABLED(context))
+			ev_io_stop(context->io_loop,
+				   (struct ev_io *)&wsi->w_write);
 #endif /* LWS_USE_LIBEV */
 
 		if (wsi->state != WSI_STATE_HTTP_ISSUING_FILE) {
@@ -276,16 +278,18 @@
 			LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED, NULL, NULL, 0);
 
 #ifdef LWS_USE_LIBEV
-        new_wsi->w_read.context = context;
-        new_wsi->w_write.context = context;
-        /*
-        new_wsi->w_read.wsi = new_wsi;
-        new_wsi->w_write.wsi = new_wsi;
-        */
-        struct ev_io* w_read = (struct ev_io*)&(new_wsi->w_read);
-        struct ev_io* w_write = (struct ev_io*)&(new_wsi->w_write);
-        ev_io_init(w_read,libwebsocket_accept_cb,accept_fd,EV_READ);
-        ev_io_init(w_write,libwebsocket_accept_cb,accept_fd,EV_WRITE);
+		if (LWS_LIBEV_ENABLED(context)) {
+		        new_wsi->w_read.context = context;
+		        new_wsi->w_write.context = context;
+		        /*
+		        new_wsi->w_read.wsi = new_wsi;
+		        new_wsi->w_write.wsi = new_wsi;
+		        */
+		        struct ev_io* w_read = (struct ev_io*)&(new_wsi->w_read);
+		        struct ev_io* w_write = (struct ev_io*)&(new_wsi->w_write);
+		        ev_io_init(w_read,libwebsocket_accept_cb,accept_fd,EV_READ);
+		        ev_io_init(w_write,libwebsocket_accept_cb,accept_fd,EV_WRITE);
+		}
 #endif /* LWS_USE_LIBEV */
 
 #ifdef LWS_OPENSSL_SUPPORT
@@ -355,7 +359,9 @@
 
 		lws_change_pollfd(wsi, LWS_POLLOUT, 0);
 #ifdef LWS_USE_LIBEV
-        ev_io_stop(context->io_loop,(struct ev_io*)&(wsi->w_write));
+		if (LWS_LIBEV_ENABLED(context))
+			ev_io_stop(context->io_loop,
+					   (struct ev_io *)&wsi->w_write);
 #endif /* LWS_USE_LIBEV */
 
 		lws_latency_pre(context, wsi);
@@ -402,7 +408,9 @@
 			if (m == SSL_ERROR_WANT_READ) {
 				lws_change_pollfd(wsi, 0, LWS_POLLIN);
 #ifdef LWS_USE_LIBEV
-                    ev_io_start(context->io_loop,(struct ev_io*)&(wsi->w_read));
+				if (LWS_LIBEV_ENABLED(context))
+		                    ev_io_start(context->io_loop,
+						(struct ev_io *)&wsi->w_read);
 #endif /* LWS_USE_LIBEV */
 				lwsl_info("SSL_ERROR_WANT_READ\n");
 				break;
@@ -410,7 +418,9 @@
 			if (m == SSL_ERROR_WANT_WRITE) {
 				lws_change_pollfd(wsi, 0, LWS_POLLOUT);
 #ifdef LWS_USE_LIBEV
-                    ev_io_start(context->io_loop,(struct ev_io*)&(wsi->w_write));
+				if (LWS_LIBEV_ENABLED(context))
+					ev_io_start(context->io_loop,
+						(struct ev_io *)&wsi->w_write);
 #endif /* LWS_USE_LIBEV */
 				break;
 			}