summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2009-03-24 15:15:10 -0400
committerFrank Ch. Eigler <fche@elastic.org>2009-03-24 15:15:10 -0400
commit148f987f1bbc4a8fe23012a56bf89bb9fc69beb9 (patch)
treedbc3658a5e526b791e5961c931741d26e4ed8646 /translate.cxx
parent30369ac1fe0ed4e022691eceaddb848689935f87 (diff)
downloadsystemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.tar.gz
systemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.tar.xz
systemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.zip
accelerate pass-3 symbol/unwind generation
* translate.cxx (emit_symbol_data): Abort dwfl_getmodules loop as soon as we run out of modules we're looking for.
Diffstat (limited to 'translate.cxx')
-rw-r--r--translate.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/translate.cxx b/translate.cxx
index 40bb82c2..798d52fe 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -4826,7 +4826,7 @@ emit_symbol_data (systemtap_session& s)
if (pending_interrupts) return;
off = dwfl_getmodules (dwfl, &dump_unwindsyms, (void *) &ctx, 0);
}
- while (off > 0);
+ while (off > 0 && !ctx.undone_unwindsym_modules.empty());
dwfl_assert("dwfl_getmodules", off == 0);
}
dwfl_end(dwfl);
@@ -4864,7 +4864,7 @@ emit_symbol_data (systemtap_session& s)
if (pending_interrupts) return;
off = dwfl_getmodules (dwfl, &dump_unwindsyms, (void *) &ctx, 0);
}
- while (off > 0);
+ while (off > 0 && !ctx.undone_unwindsym_modules.empty());
dwfl_assert("dwfl_getmodules", off == 0);
}
dwfl_end(dwfl);