aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-03-23 21:14:24 +0000
committerDaniel Jacobowitz <drow@false.org>2004-03-23 21:14:24 +0000
commit075b3282ba3c3dcfa12aab9af37537111dd66393 (patch)
tree19ef81da9e0a441898df5e54703af03b507c3860
parent63ed89b41d67ffdda6fe57f014afa4e0dec8e169 (diff)
downloadfsf-binutils-gdb-075b3282ba3c3dcfa12aab9af37537111dd66393.zip
fsf-binutils-gdb-075b3282ba3c3dcfa12aab9af37537111dd66393.tar.gz
fsf-binutils-gdb-075b3282ba3c3dcfa12aab9af37537111dd66393.tar.bz2
* linux-low.c (linux_wait): Clear all_processes list also.
-rw-r--r--gdb/gdbserver/ChangeLog4
-rw-r--r--gdb/gdbserver/linux-low.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index e718fa6..3168606 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,7 @@
+2004-03-23 Daniel Jacobowitz <drow@mvista.com>
+
+ * linux-low.c (linux_wait): Clear all_processes list also.
+
2004-03-12 Daniel Jacobowitz <drow@mvista.com>
* linux-low.c: Include <errno.h>. Remove extern declaration of
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index a3d6a54..5733180 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -685,13 +685,17 @@ retry:
fprintf (stderr, "\nChild exited with retcode = %x \n", WEXITSTATUS (w));
*status = 'W';
clear_inferiors ();
+ free (all_processes.head);
+ all_processes.head = all_processes.tail = NULL;
return ((unsigned char) WEXITSTATUS (w));
}
else if (!WIFSTOPPED (w))
{
fprintf (stderr, "\nChild terminated with signal = %x \n", WTERMSIG (w));
- clear_inferiors ();
*status = 'X';
+ clear_inferiors ();
+ free (all_processes.head);
+ all_processes.head = all_processes.tail = NULL;
return ((unsigned char) WTERMSIG (w));
}
}