diff options
Diffstat (limited to 'pullreqd.c')
-rw-r--r-- | pullreqd.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -110,6 +110,22 @@ int main_loop(config *cfg, int listen_socket) { for (; !done;) { break; } + + return 0; +} + +void cleanup(config *cfg, int listen_socket) { + if (listen_socket > 0) { + close(listen_socket); + /* Is this a unix domain socket? */ + if (!strcasecmp(cfg->sock_type, "unix")) { + unlink(cfg->sock); + } + } + + if (cfg) { + cleanup_config(cfg); + } } int main(int argc, char **argv) { @@ -136,9 +152,11 @@ int main(int argc, char **argv) { exit_status = main_loop(cfg, listen_socket); } + cleanup(cfg, listen_socket); + syslog(LOG_NOTICE, "pullreqd stopped."); closelog(); - return EXIT_SUCCESS; + return exit_status; } |