* linux-low.c (linux_wait): Clear all_processes list also.
authorDaniel Jacobowitz <drow@false.org>
Tue, 23 Mar 2004 21:14:24 +0000 (21:14 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 23 Mar 2004 21:14:24 +0000 (21:14 +0000)
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c

index e718fa65e6182b169fdf8525ca91dd43f50b9c49..3168606c93812ded1791a32187b056342e3d8bb4 100644 (file)
@@ -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
index a3d6a54d9cfdf4b5bd4b964e813b7ea67636ee0a..5733180e997337af4febecca31a3af7f0ab82a72 100644 (file)
@@ -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));
        }
     }