diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2020-07-06 15:10:40 +0100 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2020-07-31 14:01:02 +0100 |
commit | c222c1b294c7d6e2b0e554aa2fbde79c8b768594 (patch) | |
tree | d4cdbe26f0d9698e082f1f619229edd34a479951 /winsup/utils | |
parent | 0d4d2d38fbdf923f379a89b82b6a63580abbaed2 (diff) | |
download | newlib-c222c1b294c7d6e2b0e554aa2fbde79c8b768594.zip newlib-c222c1b294c7d6e2b0e554aa2fbde79c8b768594.tar.gz newlib-c222c1b294c7d6e2b0e554aa2fbde79c8b768594.tar.bz2 |
Cygwin: Speed up dumper
Stop after we've written the dump in response to the initial breakpoint
EXCEPTION_DEBUG_EVENT we recieve for attaching to the process.
(rather than bogusly sitting there for 20 seconds waiting for more debug
events from a stopped process after we've already written the dump).
Diffstat (limited to 'winsup/utils')
-rw-r--r-- | winsup/utils/dumper.cc | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc index 816320e..5f8121a 100644 --- a/winsup/utils/dumper.cc +++ b/winsup/utils/dumper.cc @@ -615,8 +615,6 @@ out: int dumper::collect_process_information () { - int exception_level = 0; - if (!sane ()) return 0; @@ -631,7 +629,7 @@ dumper::collect_process_information () while (1) { - if (!WaitForDebugEvent (¤t_event, 20000)) + if (!WaitForDebugEvent (¤t_event, INFINITE)) return 0; deb_printf ("got debug event %d\n", current_event.dwDebugEventCode); @@ -675,12 +673,6 @@ dumper::collect_process_information () case EXCEPTION_DEBUG_EVENT: - exception_level++; - if (exception_level == 2) - break; - else if (exception_level > 2) - return 0; - collect_memory_sections (); /* got all info. time to dump */ @@ -697,6 +689,9 @@ dumper::collect_process_information () goto failed; }; + /* We're done */ + goto failed; + break; default: |