daily update
[deliverable/binutils-gdb.git] / gdb / inferior.c
index 76f81c36b0f2a2240d041c777918dda7fabd2431..db4dd41e6b57c8294a8a8e0195bde86760e77710 100644 (file)
@@ -462,28 +462,18 @@ have_inferiors (void)
 int
 have_live_inferiors (void)
 {
-  struct cleanup *old_chain;
   struct inferior *inf;
 
-  old_chain = make_cleanup_restore_current_thread ();
-
   for (inf = inferior_list; inf; inf = inf->next)
     if (inf->pid != 0)
       {
        struct thread_info *tp;
        
        tp = any_thread_of_process (inf->pid);
-       if (tp)
-         {
-           switch_to_thread (tp->ptid);
-
-           if (target_has_execution)
-             break;
-         }
+       if (tp && target_has_execution_1 (tp->ptid))
+         break;
       }
 
-  do_cleanups (old_chain);
-
   return inf != NULL;
 }
 
@@ -622,13 +612,15 @@ detach_inferior_command (char *args, int from_tty)
 {
   int num, pid;
   struct thread_info *tp;
+  struct get_number_or_range_state state;
 
   if (!args || !*args)
     error (_("Requires argument (inferior id(s) to detach)"));
 
-  while (*args != '\0')
+  init_number_or_range (&state, args);
+  while (!state.finished)
     {
-      num = get_number_or_range (&args);
+      num = get_number_or_range (&state);
 
       if (!valid_gdb_inferior_id (num))
        {
@@ -656,13 +648,15 @@ kill_inferior_command (char *args, int from_tty)
 {
   int num, pid;
   struct thread_info *tp;
+  struct get_number_or_range_state state;
 
   if (!args || !*args)
     error (_("Requires argument (inferior id(s) to kill)"));
 
-  while (*args != '\0')
+  init_number_or_range (&state, args);
+  while (!state.finished)
     {
-      num = get_number_or_range (&args);
+      num = get_number_or_range (&state);
 
       if (!valid_gdb_inferior_id (num))
        {
@@ -757,13 +751,15 @@ remove_inferior_command (char *args, int from_tty)
 {
   int num;
   struct inferior *inf;
+  struct get_number_or_range_state state;
 
   if (args == NULL || *args == '\0')
     error (_("Requires an argument (inferior id(s) to remove)"));
 
-  while (*args != '\0')
+  init_number_or_range (&state, args);
+  while (!state.finished)
     {
-      num = get_number_or_range (&args);
+      num = get_number_or_range (&state);
       inf = find_inferior_id (num);
 
       if (inf == NULL)
This page took 0.026044 seconds and 4 git commands to generate.