From: Andrew Cagney <cagney@gnu.org>
To: Ashley Pittman <ashley@quadrics.com>
Cc: gdb-patches@sources.redhat.com
Subject: [commit/6.2] Detach when in batch mode; Was: Clean shutdown if still attached at exit in batch mode
Date: Mon, 26 Jul 2004 19:13:00 -0000 [thread overview]
Message-ID: <410557EB.1020904@gnu.org> (raw)
In-Reply-To: <1083244544.10141.209.camel@ashley>
[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]
> Hi,
>
> I've been hitting some problems running gdb against live processes on
> ia64 nodes, often stack traces are incomplete due to signal handler
> issues or such like. If running gdb interactively then gdb drops back
> to the prompt and everything is fine but if run in batch mode it stops
> parsing the batch file and exits.
>
> The problem here is that it does not detach before quiting so the
> process becomes a zombie. Attached is a patch to prevent this.
I've committed the attached (mainline and 6.2). Even when the script
didn't abort GDB would kill the attached inferior :-(
As for getting GDB to return a non-zero exit when the batch script fails
- yes but it is a separate bug. We'd need to record that the script
failed and exit non-zero based on that.
Andrew
> Ashley,
>
> *** gdb-6.1/gdb/main.c 2004-02-18 00:21:00.000000000 +0000
> --- gdb-6.1-modified/gdb/main.c 2004-04-29 14:10:17.000000000 +0100
> ***************
> *** 736,742 ****
> init_history ();
>
> if (batch)
> ! {
> /* We have hit the end of the batch file. */
> exit (0);
> }
> --- 736,752 ----
> init_history ();
>
> if (batch)
> ! {
> ! if ( attach_flag) {
> ! /* If there is a problem executing the command in the batch file
> ! * then we might not have parsed all of it and might be attached.
> ! * Simply calling exit() would leave zombies so be nice and detach
> ! * but let the user know that there was a problem.
> ! */
> ! target_detach(NULL,0);
> ! exit(1);
> ! }
> !
> /* We have hit the end of the batch file. */
> exit (0);
> }
[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 852 bytes --]
2004-07-26 Andrew Cagney <cagney@gnu.org>
Problem reported by Ashley Pittman <ashley@quadrics.com>.
* main.c (captured_main): When in batch mode always detach.
Index: main.c
===================================================================
RCS file: /cvs/src/src/gdb/main.c,v
retrieving revision 1.42
diff -p -u -r1.42 main.c
--- main.c 17 Jul 2004 03:25:10 -0000 1.42
+++ main.c 26 Jul 2004 19:00:46 -0000
@@ -729,6 +729,13 @@ extern int gdbtk_test (char *);
if (batch)
{
+ if (attach_flag)
+ /* Either there was a problem executing the command in the
+ batch file aborted early, or the batch file forgot to do an
+ explicit detach. Explicitly detach the inferior ensuring
+ that there are no zombies. */
+ target_detach (NULL, 0);
+
/* We have hit the end of the batch file. */
exit (0);
}
next prev parent reply other threads:[~2004-07-26 19:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-29 13:15 patch: " Ashley Pittman
2004-07-26 19:13 ` Andrew Cagney [this message]
2004-07-26 19:30 ` Daniel Jacobowitz
2004-07-27 9:40 ` Ashley Pittman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=410557EB.1020904@gnu.org \
--to=cagney@gnu.org \
--cc=ashley@quadrics.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox