From 36298c7ba6872cb3088223bc7701db79f90a8349 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sat, 28 Dec 2019 18:27:21 -0500 Subject: Call tls_close and dbClose in atexit --- litterbox.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'litterbox.c') diff --git a/litterbox.c b/litterbox.c index 8ba0923..5924680 100644 --- a/litterbox.c +++ b/litterbox.c @@ -549,8 +549,6 @@ static void handlePing(struct Message *msg) { static void handleError(struct Message *msg) { require(msg, false, 1); - tls_close(client); - dbClose(); errx(EX_UNAVAILABLE, "%s", msg->params[0]); } @@ -600,11 +598,15 @@ static void handle(struct Message msg) { } } +static void atExit(void) { + if (client) tls_close(client); + dbClose(); +} + static void quit(int sig) { (void)sig; format("QUIT\r\n"); - tls_close(client); - dbClose(); + atExit(); _exit(EX_OK); } @@ -645,6 +647,7 @@ int main(int argc, char *argv[]) { int flags = SQLITE_OPEN_READWRITE; if (init) flags |= SQLITE_OPEN_CREATE; dbFind(path, flags); + atexit(atExit); if (init) { dbInit(); -- cgit 1.4.1