aboutsummaryrefslogtreecommitdiff
path: root/gdb/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/thread.c')
-rw-r--r--gdb/thread.c29
1 files changed, 5 insertions, 24 deletions
diff --git a/gdb/thread.c b/gdb/thread.c
index 39b353e..8ebdff3 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -106,6 +106,9 @@ clear_thread_inferior_resources (struct thread_info *tp)
}
bpstat_clear (&tp->stop_bpstat);
+
+ discard_all_intermediate_continuations_thread (tp);
+ discard_all_continuations_thread (tp);
}
static void
@@ -442,9 +445,7 @@ gdb_list_thread_ids (struct ui_out *uiout, char **error_message)
/* Load infrun state for the thread PID. */
void
-load_infrun_state (ptid_t ptid,
- struct continuation **continuations,
- struct continuation **intermediate_continuations)
+load_infrun_state (ptid_t ptid)
{
struct thread_info *tp;
@@ -453,24 +454,12 @@ load_infrun_state (ptid_t ptid,
tp = find_thread_id (pid_to_thread_id (ptid));
if (tp == NULL)
return;
-
- /* In all-stop mode, these are global state, while in non-stop mode,
- they are per thread. */
- if (non_stop)
- {
- *continuations = tp->continuations;
- tp->continuations = NULL;
- *intermediate_continuations = tp->intermediate_continuations;
- tp->intermediate_continuations = NULL;
- }
}
/* Save infrun state for the thread PID. */
void
-save_infrun_state (ptid_t ptid,
- struct continuation *continuations,
- struct continuation *intermediate_continuations)
+save_infrun_state (ptid_t ptid)
{
struct thread_info *tp;
@@ -479,14 +468,6 @@ save_infrun_state (ptid_t ptid,
tp = find_thread_id (pid_to_thread_id (ptid));
if (tp == NULL)
return;
-
- /* In all-stop mode, these are global state, while in non-stop mode,
- they are per thread. */
- if (non_stop)
- {
- tp->continuations = continuations;
- tp->intermediate_continuations = intermediate_continuations;
- }
}
/* Return true if TP is an active thread. */