From 6d318c73e1caf19fd153a788590dd64402028167 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Wed, 16 Mar 2005 17:05:31 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 6 ++++++ gdb/event-top.c | 8 ++++++++ gdb/ser-tcp.c | 2 ++ 3 files changed, 16 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fc9f6326e4..0acce72080 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-03-16 Mark Mitchell + + * 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. + 2005-03-15 Mark Mitchell * utils.c (internal_vproblem): Guard call to fork with diff --git a/gdb/event-top.c b/gdb/event-top.c index fab94f76f8..4614d4d2f4 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -55,7 +55,9 @@ static void async_stop_sig (gdb_client_data arg); static void async_float_handler (gdb_client_data arg); /* Signal handlers. */ +#ifdef SIGQUIT static void handle_sigquit (int sig); +#endif static void handle_sighup (int sig); static void handle_sigfpe (int sig); #if defined(SIGWINCH) && defined(SIGWINCH_HANDLER) @@ -133,7 +135,9 @@ void *sigint_token; #ifdef SIGHUP void *sighup_token; #endif +#ifdef SIGQUIT void *sigquit_token; +#endif void *sigfpe_token; #if defined(SIGWINCH) && defined(SIGWINCH_HANDLER) void *sigwinch_token; @@ -895,6 +899,7 @@ async_init_signals (void) 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 @@ -906,6 +911,7 @@ async_init_signals (void) 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 = @@ -966,6 +972,7 @@ async_request_quit (gdb_client_data arg) quit (); } +#ifdef SIGQUIT /* Tell the event loop what to do if SIGQUIT is received. See event-signal.c. */ static void @@ -974,6 +981,7 @@ handle_sigquit (int sig) mark_async_signal_handler_wrapper (sigquit_token); signal (sig, handle_sigquit); } +#endif /* Called by the event loop in response to a SIGQUIT. */ static void diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c index 20091919dd..c2e4044cc9 100644 --- a/gdb/ser-tcp.c +++ b/gdb/ser-tcp.c @@ -186,9 +186,11 @@ net_open (struct serial *scb, const char *name) (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; }