[gnome-terminal] Add a debug flag to debug child process launch/exit



commit 93e71a85915fc9140f57fd7d92da142fd7a966be
Author: Christian Persch <chpe gnome org>
Date:   Thu Aug 27 18:07:29 2009 +0200

    Add a debug flag to debug child process launch/exit

 src/terminal-debug.c  |    1 +
 src/terminal-debug.h  |    3 ++-
 src/terminal-screen.c |   12 ++++++++++++
 3 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/src/terminal-debug.c b/src/terminal-debug.c
index 59b9a00..ae3e6a7 100644
--- a/src/terminal-debug.c
+++ b/src/terminal-debug.c
@@ -34,6 +34,7 @@ _terminal_debug_init(void)
     { "factory",   TERMINAL_DEBUG_FACTORY   },
     { "geometry",  TERMINAL_DEBUG_GEOMETRY  },
     { "mdi",       TERMINAL_DEBUG_MDI       },
+    { "processes", TERMINAL_DEBUG_PROCESSES },
     { "profile",   TERMINAL_DEBUG_PROFILE   }
   };
 
diff --git a/src/terminal-debug.h b/src/terminal-debug.h
index 50e870a..254f6aa 100644
--- a/src/terminal-debug.h
+++ b/src/terminal-debug.h
@@ -31,7 +31,8 @@ typedef enum {
   TERMINAL_DEBUG_FACTORY    = 1 << 2,
   TERMINAL_DEBUG_GEOMETRY   = 1 << 3,
   TERMINAL_DEBUG_MDI        = 1 << 4,
-  TERMINAL_DEBUG_PROFILE    = 1 << 5,
+  TERMINAL_DEBUG_PROCESSES  = 1 << 5,
+  TERMINAL_DEBUG_PROFILE    = 1 << 6
 } TerminalDebugFlags;
 
 void _terminal_debug_init(void);
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 380679e..abc2e06 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -1563,6 +1563,10 @@ terminal_screen_launch_child_cb (TerminalScreen *screen)
 
   g_return_val_if_fail (GTK_WIDGET_REALIZED (screen), FALSE);
 
+  _terminal_debug_print (TERMINAL_DEBUG_PROCESSES,
+                         "[screen %p] now launching the child process\n",
+                         screen);
+
   profile = priv->profile;
 
   env = get_child_environment (screen, &shell);
@@ -1620,6 +1624,10 @@ terminal_screen_launch_child_on_idle (TerminalScreen *screen)
   if (priv->launch_child_source_id != 0)
     return;
 
+  _terminal_debug_print (TERMINAL_DEBUG_PROCESSES,
+                         "[screen %p] scheduling launching the child process on idle\n",
+                         screen);
+
   priv->launch_child_source_id = g_idle_add ((GSourceFunc) terminal_screen_launch_child_cb, screen);
 }
 
@@ -1936,6 +1944,10 @@ terminal_screen_child_exited (VteTerminal *terminal)
 
   /* No need to chain up to VteTerminalClass::child_exited since it's NULL */
 
+  _terminal_debug_print (TERMINAL_DEBUG_PROCESSES,
+                         "[screen %p] child process exited\n",
+                         screen);
+
   priv->child_pid = -1;
   priv->pty_fd = -1;
   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]