Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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);
     }

  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