X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_keyd.c;h=35d2dc4cab504d388a5e2d3e7bcd4cd693c6fa93;hb=a534b3b856a1e3cbfe60bc0bca432e802f9718be;hp=3f199bd8c09d319c66344a8f842fdb1fa39a0971;hpb=38673288bad5b2c0f730021d9311e2df73c74c82;p=onak.git diff --git a/keydb_keyd.c b/keydb_keyd.c index 3f199bd..35d2dc4 100644 --- a/keydb_keyd.c +++ b/keydb_keyd.c @@ -103,10 +103,23 @@ static void keyd_initdb(bool readonly) */ static void keyd_cleanupdb(void) { + int cmd = KEYD_CMD_CLOSE; + + if (write(keyd_fd, &cmd, sizeof(cmd)) != sizeof(cmd)) { + logthing(LOGTHING_CRITICAL, + "Couldn't send close cmd: %s (%d)", + strerror(errno), + errno); + } + if (shutdown(keyd_fd, SHUT_RDWR) < 0) { logthing(LOGTHING_NOTICE, "Error shutting down socket: %d", errno); } + if (close(keyd_fd) < 0) { + logthing(LOGTHING_NOTICE, "Error closing down socket: %d", + errno); + } keyd_fd = -1; return;