- /* This is the first thing to do -- so that continuations know that
- the target is stopped. For example, command_line_handler_continuation
- will run breakpoint commands, and if we think that the target is
- running, we'll refuse to execute most commands. MI continuation
- presently uses target_executing to either print or not print *stopped. */
- target_executing = 0;
-
- /* Unregister the inferior from the event loop. This is done so that
- when the inferior is not running we don't get distracted by
- spurious inferior output. */
- if (target_has_execution)
- target_async (NULL, 0);
-
- /* Calls to do_exec_error_cleanup below will call async_enable_stdin,
- and that resets 'sync_execution'. However, if we were running
- in sync execution mode, we also need to display the prompt. */
- was_sync = sync_execution;
-
- if (was_sync)
- do_exec_error_cleanups (ALL_CLEANUPS);
-
- do_all_continuations ();
+ /* Do all continuations associated with the whole inferior (not
+ a particular thread). */
+ if (inferior_ptid != null_ptid)
+ do_all_inferior_continuations (0);