dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls.

Message ID 21806.55683.577616.55845@ruffy2.mtv.corp.google.com
State New, archived
Headers

Commit Message

Doug Evans April 15, 2015, 9:34 p.m. UTC
  Doug Evans writes:
 > Doug Evans writes:
 >  > Hi.
 >  > 
 >  > "info fun foo" can be a pain when it's not interruptable,
 >  > especially if you're not exactly sure of what you're looking for
 >  > and provide something that matches too much.
 >  > 
 >  > 2015-03-30  Doug Evans  <dje@google.com>
 >  > 
 >  > 	* dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls.
 > 
 > Committed.

Hi.

I committed this corresponding patch.

There is a call to QUIT in recursively_search_psymtabs,
but I like the added symmetry and robustness.

[The astute reader may find that there are already QUIT calls
that can catch ^c's in this case.
E.g., dwarf2read.c calls out to c_print_type (IIRC)
which has a call to QUIT within it. However, there is a problem here
which I still have to address: these QUIT calls can leave symbol tables
partially constructed. Not sure how to fix this yet (I can think of
a couple of ways), and at any rate I like the explicit QUIT calls
that these two patches add.]

2015-04-15  Doug Evans  <dje@google.com>

	* psymtab.c (psym_expand_symtabs_matching): Add QUIT call.
  

Patch

diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index b3c2f44..383e4c4 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1423,6 +1423,8 @@  psym_expand_symtabs_matching
 
   ALL_OBJFILE_PSYMTABS_REQUIRED (objfile, ps)
     {
+      QUIT;
+
       if (ps->readin)
 	continue;