From 209c63553822029a8344ea76a57981713ba3acac Mon Sep 17 00:00:00 2001 From: deuce <> Date: Wed, 10 Sep 2003 01:30:45 +0000 Subject: [PATCH] Handle quite/term/int signals on *nix --- src/sbbs3/jsexec.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index f0f5ee1da5..87078c96ec 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -39,6 +39,10 @@ #define JAVASCRIPT #endif +#ifdef __unix__ +#include <signal.h> +#endif + #include "sbbs.h" JSRuntime* js_runtime; @@ -616,16 +620,16 @@ long js_exec(const char *fname, char** args) return(result); } -void break_handler(void) +void break_handler(int type) { - fprintf(stderr,"\n-> Terminated Locally <-\n"); + fprintf(stderr,"\n-> Terminated Locally (%d)<-\n",type); terminated=TRUE; } #if defined(_WIN32) BOOL WINAPI ControlHandler(DWORD CtrlType) { - break_handler(); + break_handler((int)CtrlType); return TRUE; } #endif @@ -749,6 +753,10 @@ int main(int argc, char **argv, char** environ) /* Install Ctrl-C/Break signal handler here */ #if defined(_WIN32) SetConsoleCtrlHandler(ControlHandler, TRUE /* Add */); +#elif defined(__unix__) + signal(SIGQUIT,break_handler); + signal(SIGINT,break_handler); + signal(SIGTERM,break_handler); #endif result=js_exec(module,&argv[argn]); -- GitLab