This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] tui: initialize signal handler


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Daniel Jacobowitz wrote:
> On Sat, Sep 22, 2007 at 04:23:26PM -0300, Carlos Eduardo Seo wrote:
>> +#ifdef SIGACTION
>
> #ifdef HAVE_SIGACTION
>
> I don't think anything defines SIGACTION.  Otherwise, as Eli already
> said, OK to commit :-)
>
Whops... typo!

Corrected now. :)

- --
Carlos Eduardo Seo
Software Engineer
IBM Linux Technology Center
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG9arPqvq7Aov/qQARAt7WAJ9BF+GF4oab+IKvi6l8eizgIGtulgCfZlqd
y/gvG5q1lxK5ggT63bvdAZE=
=SDP2
-----END PGP SIGNATURE-----

2007-09-22  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

        * tui/tui-interp.c (tui_init): Initialize
        tui's SIGWINCH signal handler.
        * tui/tui-win.c (tui_initialize_win): New
        function for initializing tui's SIGWINCH signal
        handler.
        * tui/tui-win.h (tui_initialize_win): Declare


Index: src/gdb/tui/tui-interp.c
===================================================================
--- src.orig/gdb/tui/tui-interp.c
+++ src/gdb/tui/tui-interp.c
@@ -56,6 +56,7 @@ tui_init (void)
   tui_initialize_static_data ();
 
   tui_initialize_io ();
+  tui_initialize_win ();
   tui_initialize_readline ();
 
   return NULL;
Index: src/gdb/tui/tui-win.c
===================================================================
--- src.orig/gdb/tui/tui-win.c
+++ src/gdb/tui/tui-win.c
@@ -50,6 +50,8 @@
 #include <ctype.h>
 #include "readline/readline.h"
 
+#include <signal.h>
+
 /*******************************
 ** Static Local Decls
 ********************************/
@@ -813,6 +815,21 @@ tui_sigwinch_handler (int signal)
   tui_set_win_resized_to (TRUE);
 }
 
+/* Initializes SIGWINCH signal handler for the tui.  */
+void
+tui_initialize_win (void)
+{
+#ifdef SIGWINCH
+#ifdef HAVE_SIGACTION
+  struct sigaction old_winch;
+  memset (&old_winch, 0, sizeof (old_winch));
+  old_winch.sa_handler = &tui_sigwinch_handler;
+  sigaction (SIGWINCH, &old_winch, NULL);
+#else
+  signal (SIGWINCH, &tui_sigwinch_handler);
+#endif
+#endif
+}
 
 
 /*************************
Index: src/gdb/tui/tui-win.h
===================================================================
--- src.orig/gdb/tui/tui-win.h
+++ src/gdb/tui/tui-win.h
@@ -49,6 +49,8 @@ extern int tui_active_border_attrs;
 
 extern int tui_update_variables (void);
 
+extern void tui_initialize_win (void);
+
 /* Update gdb's knowledge of the terminal size.  */
 extern void tui_update_gdb_sizes (void);
 

Attachment: tui-sighandler.diff.sig
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]