2005-09-27 Bob Rossi <bob@brasko.net>
[deliverable/binutils-gdb.git] / gdb / inf-loop.c
index 8528512b3c7e0e72755388f1a7c3b17a527836ee..e903f71064274d02c1b00a727a607db29ba148f7 100644 (file)
 #include "event-loop.h"
 #include "event-top.h"
 #include "inf-loop.h"
+#include "remote.h"
+#include "exceptions.h"
 
 static int fetch_inferior_event_wrapper (gdb_client_data client_data);
 static void complete_execution (void);
 
+void
+inferior_event_handler_wrapper (gdb_client_data client_data)
+{
+  inferior_event_handler (INF_QUIT_REQ, client_data);
+}
+
 /* General function to handle events in the inferior. So far it just
    takes care of detecting errors reported by select() or poll(),
    otherwise it assumes that all is OK, and goes on reading data from
@@ -40,7 +48,7 @@ inferior_event_handler (enum inferior_event_type event_type,
   switch (event_type)
     {
     case INF_ERROR:
-      printf_unfiltered ("error detected from target.\n");
+      printf_unfiltered (_("error detected from target.\n"));
       target_async (NULL, 0);
       pop_target ();
       discard_all_continuations ();
@@ -71,10 +79,22 @@ inferior_event_handler (enum inferior_event_type event_type,
       complete_execution ();
       break;
 
-    case INF_QUIT_REQ:
+    case INF_EXEC_CONTINUE:
+      /* Is there anything left to do for the command issued to
+         complete? */
+      do_all_intermediate_continuations ();
+      break;
+
+    case INF_QUIT_REQ: 
+      /* FIXME: ezannoni 1999-10-04. This call should really be a
+        target vector entry, so that it can be used for any kind of
+        targets. */
+      async_remote_interrupt_twice (NULL);
+      break;
+
     case INF_TIMER:
     default:
-      printf_unfiltered ("Event type not recognized.\n");
+      printf_unfiltered (_("Event type not recognized.\n"));
       break;
     }
 }
@@ -108,6 +128,6 @@ complete_execution (void)
   else
     {
       if (exec_done_display_p)
-       printf_unfiltered ("completed.\n");
+       printf_unfiltered (_("completed.\n"));
     }
 }
This page took 0.02412 seconds and 4 git commands to generate.