hush: make it ignore SIGINT etc in a config wich has no job control

diff --git a/shell/hush.c b/shell/hush.c
index 26d113b..9e574c9 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -698,9 +698,18 @@
 	BLTIN(NULL, NULL, NULL)
 };
 
+/* Signals are grouped, we handle them in batches */
+static void set_misc_sighandler(void (*handler)(int))
+{
+	bb_signals(0
+		+ (1 << SIGINT)
+		+ (1 << SIGQUIT)
+		+ (1 << SIGTERM)
+		, handler);
+}
+
 #if ENABLE_HUSH_JOB
 
-/* Signals are grouped, we handle them in batches */
 static void set_fatal_sighandler(void (*handler)(int))
 {
 	bb_signals(0
@@ -724,14 +733,6 @@
 		+ (1 << SIGTTOU)
 		, handler);
 }
-static void set_misc_sighandler(void (*handler)(int))
-{
-	bb_signals(0
-		+ (1 << SIGINT)
-		+ (1 << SIGQUIT)
-		+ (1 << SIGTERM)
-		, handler);
-}
 /* SIGCHLD is special and handled separately */
 
 static void set_every_sighandler(void (*handler)(int))
@@ -814,7 +815,6 @@
 
 #define set_fatal_sighandler(handler)   ((void)0)
 #define set_jobctrl_sighandler(handler) ((void)0)
-#define set_misc_sighandler(handler)    ((void)0)
 #define hush_exit(e)                    exit(e)
 
 #endif /* JOB */
@@ -3906,8 +3906,10 @@
 				/* give up */
 				interactive_fd = 0;
 		}
-		if (interactive_fd)
+		if (interactive_fd) {
 			fcntl(interactive_fd, F_SETFD, FD_CLOEXEC);
+			set_misc_sighandler(SIG_IGN);
+		}
 	}
 #endif