From fcba07c9dca8d50547d60ed85c9ed90ab624d7f9 Mon Sep 17 00:00:00 2001 From: smitsohu Date: Sun, 17 Feb 2019 01:37:36 +0100 Subject: shutdown option: give sandbox time to terminate #2401 --- src/firejail/shutdown.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/firejail/shutdown.c b/src/firejail/shutdown.c index b70394bc8..afe7109a8 100644 --- a/src/firejail/shutdown.c +++ b/src/firejail/shutdown.c @@ -52,15 +52,18 @@ void shut(pid_t pid) { printf("Sending SIGTERM to %u\n", pid); kill(pid, SIGTERM); - // wait for not more than 10 seconds - sleep(2); - int monsec = 8; + // wait for not more than about 10 seconds + int monsec = 10; char *monfile; if (asprintf(&monfile, "/proc/%d/cmdline", pid) == -1) errExit("asprintf"); int killdone = 0; + usleep(200000) // give sandbox a little head start while (monsec) { + sleep(1); + monsec--; + FILE *fp = fopen(monfile, "r"); if (!fp) { killdone = 1; @@ -75,9 +78,6 @@ void shut(pid_t pid) { killdone = 1; break; } - - sleep(1); - monsec--; } free(monfile); -- cgit v1.2.3-70-g09d2