X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fprocess-stratum-target.c;h=9eff5ab56eaafe8c3963c914c83f67939e997421;hb=f2e1c129f8f0985ec80e6cf775cf3e4afbced6fa;hp=f3fd9ee905db65e5bd52efa77c82608f3d3ad3e9;hpb=5b6d1e4fa4fc6827c7b3f0e99ff120dfa14d65d2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/process-stratum-target.c b/gdb/process-stratum-target.c index f3fd9ee905..9eff5ab56e 100644 --- a/gdb/process-stratum-target.c +++ b/gdb/process-stratum-target.c @@ -83,3 +83,28 @@ process_stratum_target::has_execution (inferior *inf) through hoops. */ return inf->pid != 0; } + +/* See process-stratum-target.h. */ + +std::set +all_non_exited_process_targets () +{ + /* Inferiors may share targets. To eliminate duplicates, use a set. */ + std::set targets; + for (inferior *inf : all_non_exited_inferiors ()) + targets.insert (inf->process_target ()); + + return targets; +} + +/* See process-stratum-target.h. */ + +void +switch_to_target_no_thread (process_stratum_target *target) +{ + for (inferior *inf : all_inferiors (target)) + { + switch_to_inferior_no_thread (inf); + break; + } +}