diff options
author | Tom Tromey <tom@tromey.com> | 2022-12-27 08:58:38 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-01-08 18:40:21 -0700 |
commit | f7840e9e3eb9d1a157eaae772ea6841f1b83f1ba (patch) | |
tree | 34b3df072309db8db579020d879a0918e8199bc1 | |
parent | 9b595a264168cdd950c19dafe4663ca25d22234b (diff) | |
download | binutils-f7840e9e3eb9d1a157eaae772ea6841f1b83f1ba.zip binutils-f7840e9e3eb9d1a157eaae772ea6841f1b83f1ba.tar.gz binutils-f7840e9e3eb9d1a157eaae772ea6841f1b83f1ba.tar.bz2 |
Change how cooked index waits for threads
This changes the cooked index code to wait for threads in its
public-facing API. That is, the waits are done in cooked_index now,
and never in the cooked_index_shard. Centralizing this decision makes
it easier to wait for other events here as well.
-rw-r--r-- | gdb/dwarf2/cooked-index.c | 3 | ||||
-rw-r--r-- | gdb/dwarf2/cooked-index.h | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index ba77f9c..7588b5c 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -409,8 +409,6 @@ cooked_index_shard::do_finalize () cooked_index_shard::range cooked_index_shard::find (const std::string &name, bool completing) const { - wait (); - cooked_index_entry::comparison_mode mode = (completing ? cooked_index_entry::COMPLETE : cooked_index_entry::MATCH); @@ -528,6 +526,7 @@ cooked_index::get_addrmaps () const cooked_index::range cooked_index::find (const std::string &name, bool completing) const { + wait (); std::vector<cooked_index_shard::range> result_range; result_range.reserve (m_vector.size ()); for (auto &entry : m_vector) diff --git a/gdb/dwarf2/cooked-index.h b/gdb/dwarf2/cooked-index.h index 63fed35..914a595 100644 --- a/gdb/dwarf2/cooked-index.h +++ b/gdb/dwarf2/cooked-index.h @@ -288,7 +288,6 @@ public: /* Return a range of all the entries. */ range all_entries () const { - wait (); return { m_entries.cbegin (), m_entries.cend () }; } @@ -461,6 +460,7 @@ public: /* Return a range of all the entries. */ range all_entries () const { + wait (); std::vector<cooked_index_shard::range> result_range; result_range.reserve (m_vector.size ()); for (auto &entry : m_vector) |