[newlib-cygwin] Cygwin: Speed up dumper
Jon TURNEY
jturney@sourceware.org
Fri Jul 31 13:01:41 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c222c1b294c7d6e2b0e554aa2fbde79c8b768594
commit c222c1b294c7d6e2b0e554aa2fbde79c8b768594
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Mon Jul 6 15:10:40 2020 +0100
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).
Diff:
---
winsup/utils/dumper.cc | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
index 816320e6d..5f8121aa3 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:
More information about the Cygwin-cvs
mailing list