[PATCH 3/3] Cygwin: Speed up dumper
Jon Turney
jon.turney@dronecode.org.uk
Tue Jul 21 14:26:16 GMT 2020
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).
---
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 ace752464..e80758e0c 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:
--
2.27.0
More information about the Cygwin-patches
mailing list