diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-12-23 20:27:34 -0800 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-12-23 20:27:34 -0800 |
commit | 22574b3ce2786c44e76fcf3bfb41370d3cf5ce97 (patch) | |
tree | 4d70aaeb1e9824dfac62225c806c4af1bef8fd2a | |
parent | 6c02deb271622b4f14ad53a19aa26b1c194f43da (diff) | |
download | secdesk-22574b3ce2786c44e76fcf3bfb41370d3cf5ce97.tar secdesk-22574b3ce2786c44e76fcf3bfb41370d3cf5ce97.tar.gz secdesk-22574b3ce2786c44e76fcf3bfb41370d3cf5ce97.tar.bz2 secdesk-22574b3ce2786c44e76fcf3bfb41370d3cf5ce97.zip |
Fix ^C cannot exit properly
-rw-r--r-- | main.c | 9 | ||||
-rw-r--r-- | sd.c | 2 |
2 files changed, 8 insertions, 3 deletions
@@ -43,11 +43,16 @@ int main(int argc, char **argv) { setbuf(stdout, NULL); a_env.pid = getppid(); signal(SIGHUP, SIG_IGN); - if (sd_setup()) { + int r = sd_setup(); + if (r == -1) { + sd_cleanup(); + return 13; + } + if (r) { sd_cleanup(); return main_consent(0); } else { - int r = main_consent(1); + r = main_consent(1); sd_cleanup(); return r; } @@ -137,7 +137,7 @@ int sd_setup(void) { } case SIGINT: case SIGTERM: { - exit(13); + return -1; } default: { /* Consider insecure. |