From 1a3611151af25d4cf74ce1042cfe8b16fc85f3cb Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Wed, 10 Jun 2020 23:17:20 +0200 Subject: Add checks during server config reading to shutdown early --- cfgdir.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cfgdir.c') diff --git a/cfgdir.c b/cfgdir.c index 9ffff3e..08b40f1 100644 --- a/cfgdir.c +++ b/cfgdir.c @@ -226,7 +226,10 @@ scfg_read_cb(struct cfg *cfg, struct uring_task *task, int res) { struct server *scfg = container_of(task, struct server, task); - if (res < 0) { + if (task->dead) + return; + + if (res <= 0) { fprintf(stderr, "%s: error reading config file for %s: %s\n", __func__, scfg->name, strerror(-res)); server_delete(cfg, scfg); @@ -243,6 +246,9 @@ scfg_open_cb(struct cfg *cfg, struct uring_task *task, int res) { struct server *scfg = container_of(task, struct server, task); + if (task->dead) + return; + if (res < 0) { fprintf(stderr, "%s: open(%s) failed: %s\n", __func__, scfg->name, strerror(-res)); -- cgit v1.2.3