This is the mail archive of the gdb-patches@sources.redhat.com 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]

PATCH: Allow for systems that do not define SIGQUIT/SIGPIPE


Windows does not have SIGQUIT or SIGPIPE.  

Tested on x86_64-unknown-linux-gnu.

OK?

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com

2005-03-16  Mark Mitchell  <mark@codesourcery.com>

	* event-top.c (async_init_signals): Allow for systems that do not
	define SIGQUIT.
	* ser-tcp.c (net_open): Allow for systems that do not have SIGPIPE.

Index: event-top.c
===================================================================
RCS file: /cvs/src/src/gdb/event-top.c,v
retrieving revision 1.39
diff -c -5 -p -r1.39 event-top.c
*** event-top.c	12 Feb 2005 00:39:19 -0000	1.39
--- event-top.c	16 Mar 2005 16:07:44 -0000
*************** async_init_signals (void)
*** 893,902 ****
--- 893,903 ----
       to the inferior and breakpoints will be ignored.  */
  #ifdef SIGTRAP
    signal (SIGTRAP, SIG_DFL);
  #endif
  
+ #ifdef SIGQUIT
    /* If we initialize SIGQUIT to SIG_IGN, then the SIG_IGN will get
       passed to the inferior, which we don't want.  It would be
       possible to do a "signal (SIGQUIT, SIG_DFL)" after we fork, but
       on BSD4.3 systems using vfork, that can affect the
       GDB process as well as the inferior (the signal handling tables
*************** async_init_signals (void)
*** 904,913 ****
--- 905,915 ----
       a handler for SIGQUIT, when we call exec it will set the signal
       to SIG_DFL for us.  */
    signal (SIGQUIT, handle_sigquit);
    sigquit_token =
      create_async_signal_handler (async_do_nothing, NULL);
+ #endif
  #ifdef SIGHUP
    if (signal (SIGHUP, handle_sighup) != SIG_IGN)
      sighup_token =
        create_async_signal_handler (async_disconnect, NULL);
    else
Index: ser-tcp.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.c,v
retrieving revision 1.17
diff -c -5 -p -r1.17 ser-tcp.c
*** ser-tcp.c	11 Feb 2005 04:06:04 -0000	1.17
--- ser-tcp.c	16 Mar 2005 16:07:44 -0000
*************** net_open (struct serial *scb, const char
*** 184,196 ****
--- 184,198 ----
        tmp = 1;
        setsockopt (scb->fd, IPPROTO_TCP, TCP_NODELAY,
  		  (char *)&tmp, sizeof (tmp));
      }
  
+ #ifdef SIGPIPE
    /* If we don't do this, then GDB simply exits
       when the remote side dies.  */
    signal (SIGPIPE, SIG_IGN);
+ #endif
  
    return 0;
  }
  
  static void


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