diff --git a/src/od_backend.c b/src/od_backend.c index d5b62c0f..9552a659 100644 --- a/src/od_backend.c +++ b/src/od_backend.c @@ -351,6 +351,7 @@ od_backend_new(od_router_t *router, od_route_t *route) error: od_serverpool_set(&route->server_pool, server, OD_SUNDEF); + server->route = NULL; od_backend_close(server); return NULL; } diff --git a/src/od_pooler.c b/src/od_pooler.c index 86902ac9..29528312 100644 --- a/src/od_pooler.c +++ b/src/od_pooler.c @@ -181,7 +181,6 @@ od_signalizer(void *arg) od_error(&instance->log, "pooler", "failed to init signal handler"); return; } - for (;;) { rc = machine_signal_wait(UINT32_MAX); @@ -189,7 +188,8 @@ od_signalizer(void *arg) break; switch (rc) { case SIGINT: - od_log(&instance->log, "caught SIGINT, closing"); + od_log(&instance->log, "SIGINT received, shutting down"); + exit(0); break; }