aboutsummaryrefslogtreecommitdiffstats
path: root/init/log.c
diff options
context:
space:
mode:
authorturret <turret@duck.com>2024-01-14 19:50:24 -0600
committerturret <turret@duck.com>2024-01-14 19:50:24 -0600
commitbb357be604b64d489b6015f4c7466be51a748929 (patch)
treeb92fd00dd3e00e7e1fceab64613872992511433e /init/log.c
parent7da85e6f9b6e9a694eb2faef5c1779c83b9efe3c (diff)
downloaddiscord-bot-skeleton-bb357be604b64d489b6015f4c7466be51a748929.tar.gz
discord-bot-skeleton-bb357be604b64d489b6015f4c7466be51a748929.tar.bz2
discord-bot-skeleton-bb357be604b64d489b6015f4c7466be51a748929.zip
init: modify panic termination sequence
in log: we ensure we panic by killing our process group with SIGTERM, raising it for ourselves, and exiting (if all else fails simply). in init: we catch SIGTERM and exit with 0 if we get it, as bash (and likely others) prints a nasty "Terminated" to stderr
Diffstat (limited to 'init/log.c')
-rw-r--r--init/log.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/init/log.c b/init/log.c
index 9564053..83702c6 100644
--- a/init/log.c
+++ b/init/log.c
@@ -175,7 +175,9 @@ void _panic(const char *fileorigin,
/* if we are going to die, we dont really need to clean up */
if(mode == PANICMODE_DIE) {
- kill(-getpgid(pid), SIGKILL);
+ kill(-getpgid(pid), SIGTERM);
+ raise(SIGTERM);
+ exit(0);
}
print(NOLOCK("5") "------------[ cut here ]------------");