diff options
author | Gary Benson <gbenson@redhat.com> | 2014-08-06 11:57:14 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2014-08-28 15:06:46 +0100 |
commit | aa96c426c674844a90e8fbea2cd184462191b498 (patch) | |
tree | 6f06335efd35b552b587b128f01a4ecf556ef724 /gdb/gdbserver/linux-low.c | |
parent | f7160e97410b4b65330e5f23d82e8879c908de50 (diff) | |
download | gdb-aa96c426c674844a90e8fbea2cd184462191b498.zip gdb-aa96c426c674844a90e8fbea2cd184462191b498.tar.gz gdb-aa96c426c674844a90e8fbea2cd184462191b498.tar.bz2 |
Downgrade fatal to warning in linux_async
This commit downgrades a fatal error to a warning in linux_async.
linux_async is called from two different places in gdbserver:
Via target_async from handle_accept_event. The argument
is always zero, so the warning will never be printed here.
Via start_non_stop from handle_general_set. This prints
its own error message to stderr on failure, which will
be preceded by the warning if it is emitted.
gdb/gdbserver/ChangeLog:
* linux-low.c (linux_async): Replace fatal with warning.
Tidy up and return.
(linux_start_non_stop): Return -1 if linux_async failed.
Diffstat (limited to 'gdb/gdbserver/linux-low.c')
-rw-r--r-- | gdb/gdbserver/linux-low.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index f8b3e68..ec3260e 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -5107,7 +5107,14 @@ linux_async (int enable) if (enable) { if (pipe (linux_event_pipe) == -1) - fatal ("creating event pipe failed."); + { + linux_event_pipe[0] = -1; + linux_event_pipe[1] = -1; + sigprocmask (SIG_UNBLOCK, &mask, NULL); + + warning ("creating event pipe failed."); + return previous; + } fcntl (linux_event_pipe[0], F_SETFL, O_NONBLOCK); fcntl (linux_event_pipe[1], F_SETFL, O_NONBLOCK); @@ -5140,6 +5147,10 @@ linux_start_non_stop (int nonstop) { /* Register or unregister from event-loop accordingly. */ linux_async (nonstop); + + if (target_is_async_p () != (nonstop != 0)) + return -1; + return 0; } |