+2015-05-20  Joel Brobecker  <brobecker@adacore.com>
+
+       * infrun.c (handle_inferior_event_1): Renames handle_inferior_event.
+       (handle_inferior_event): New function.
+
 2015-05-20  Joel Brobecker  <brobecker@adacore.com>
 
        * ada-lang.c (to_fixed_array_type): Rename local variable
 
    once).  */
 
 static void
-handle_inferior_event (struct execution_control_state *ecs)
+handle_inferior_event_1 (struct execution_control_state *ecs)
 {
   enum stop_kind stop_soon;
 
     }
 }
 
+/* A wrapper around handle_inferior_event_1, which also makes sure
+   that all temporary struct value objects that were created during
+   the handling of the event get deleted at the end.  */
+
+static void
+handle_inferior_event (struct execution_control_state *ecs)
+{
+  struct value *mark = value_mark ();
+
+  handle_inferior_event_1 (ecs);
+  /* Purge all temporary values created during the event handling,
+     as it could be a long time before we return to the command level
+     where such values would otherwise be purged.  */
+  value_free_to_mark (mark);
+}
+
 /* Come here when the program has stopped with a signal.  */
 
 static void