catch the SIGTTOU and SIGTTIN signals when an app we launch tries to use its stdin...
authorDana Jansens <danakj@orodu.net>
Fri, 15 Jan 2010 20:48:56 +0000 (15:48 -0500)
committerDana Jansens <danakj@orodu.net>
Mon, 8 Feb 2010 18:36:46 +0000 (13:36 -0500)
openbox/openbox.c

index 183d9aa..f19f064 100644 (file)
@@ -175,6 +175,8 @@ gint main(gint argc, gchar **argv)
     ob_main_loop_signal_add(ob_main_loop, SIGHUP, signal_handler, NULL, NULL);
     ob_main_loop_signal_add(ob_main_loop, SIGPIPE, signal_handler, NULL, NULL);
     ob_main_loop_signal_add(ob_main_loop, SIGCHLD, signal_handler, NULL, NULL);
+    ob_main_loop_signal_add(ob_main_loop, SIGTTIN, signal_handler, NULL,NULL);
+    ob_main_loop_signal_add(ob_main_loop, SIGTTOU, signal_handler, NULL,NULL);
 
     ob_screen = DefaultScreen(ob_display);
 
@@ -520,6 +522,10 @@ static void signal_handler(gint signal, gpointer data)
         /* reap children */
         while (waitpid(-1, NULL, WNOHANG) > 0);
         break;
+    case SIGTTIN:
+    case SIGTTOU:
+        ob_debug("Caught signal %d. Ignoring.", signal);
+        break;
     default:
         ob_debug("Caught signal %d. Exiting.\n", signal);
         /* TERM and INT return a 0 code */