diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c
index 5558f9a507b0a4d0242d9588c710a62ed7976ab7..c650f8799b1e807f5dc90813b3c290c6a8cc271b 100644
--- a/src/sbbs3/jsexec.c
+++ b/src/sbbs3/jsexec.c
@@ -1197,6 +1197,9 @@ int main(int argc, char **argv, char** env)
 	FILE*	fp;
 	char	ini_fname[MAX_PATH + 1];
 	str_list_t ini = NULL;
+#ifdef __unix__
+	struct sigaction sa = {0};
+#endif
 
 	confp=stdout;
 	errfp=stderr;
@@ -1485,12 +1488,10 @@ int main(int argc, char **argv, char** env)
 #if defined(_WIN32)
 	SetConsoleCtrlHandler(ControlHandler, TRUE /* Add */);
 #elif defined(__unix__)
-	signal(SIGQUIT,break_handler);
-	siginterrupt(SIGQUIT, 1);
-	signal(SIGINT,break_handler);
-	siginterrupt(SIGINT, 1);
-	signal(SIGTERM,break_handler);
-	siginterrupt(SIGTERM, 1);
+	sa.sa_handler = break_handler;
+	sigaction(SIGQUIT, &sa, NULL);
+	sigaction(SIGINT, &sa, NULL);
+	sigaction(SIGTERM, &sa, NULL);
 
 	signal(SIGHUP,recycle_handler);
 
diff --git a/src/syncterm/conn.h b/src/syncterm/conn.h
index bbb95736cf1bc01cf09f561ed44188eb96447f78..8b68d8d6a4b6a3a4a81e288607ba4ecd5fd6a129 100644
--- a/src/syncterm/conn.h
+++ b/src/syncterm/conn.h
@@ -5,6 +5,8 @@
 #ifndef _CONN_H_
 #define _CONN_H_
 
+#include <stdbool.h>
+
 #include "sockwrap.h"
 #include "threadwrap.h"