From d6b28e47aadb22d2246b021598dac34c44fba75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BChler?= Date: Sat, 27 Sep 2008 12:44:04 +0200 Subject: [PATCH] Fix segfault if config parser failed --- src/server.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/server.c b/src/server.c index cab18ca..a48809f 100644 --- a/src/server.c +++ b/src/server.c @@ -286,9 +286,11 @@ void server_stop(server *srv) { if (g_atomic_int_get(&srv->state) == SERVER_STOPPING) return; g_atomic_int_set(&srv->state, SERVER_STOPPING); - for (i = 0; i < srv->sockets->len; i++) { - server_socket *sock = g_array_index(srv->sockets, server_socket*, i); - ev_io_stop(srv->main_worker->loop, &sock->watcher); + if (srv->main_worker) { + for (i = 0; i < srv->sockets->len; i++) { + server_socket *sock = g_array_index(srv->sockets, server_socket*, i); + ev_io_stop(srv->main_worker->loop, &sock->watcher); + } } /* stop all workers */