summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/nat/windows-nat.c10
-rw-r--r--gdb/nat/windows-nat.h5
-rw-r--r--gdb/windows-nat.c11
-rw-r--r--gdbserver/ChangeLog5
-rw-r--r--gdbserver/win32-low.cc6
6 files changed, 31 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 738c6c2d779..3c3ae28dd85 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,13 @@
2020-04-08 Tom Tromey <tromey@adacore.com>
+ * windows-nat.c (wait_for_debug_event): Move to
+ nat/windows-nat.c.
+ * nat/windows-nat.h (wait_for_debug_event): Declare.
+ * nat/windows-nat.c (wait_for_debug_event): Move from
+ windows-nat.c. No longer static.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
* windows-nat.c (get_windows_debug_event): Use
fetch_pending_stop.
* nat/windows-nat.h (fetch_pending_stop): Declare.
diff --git a/gdb/nat/windows-nat.c b/gdb/nat/windows-nat.c
index 823471eb4da..bb28e9b13c7 100644
--- a/gdb/nat/windows-nat.c
+++ b/gdb/nat/windows-nat.c
@@ -385,5 +385,15 @@ continue_last_debug_event (DWORD continue_status, bool debug_events)
continue_status);
}
+/* See nat/windows-nat.h. */
+
+BOOL
+wait_for_debug_event (DEBUG_EVENT *event, DWORD timeout)
+{
+ BOOL result = WaitForDebugEvent (event, timeout);
+ if (result)
+ last_wait_event = *event;
+ return result;
+}
}
diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h
index 68b72d4bbd2..846fa67f407 100644
--- a/gdb/nat/windows-nat.h
+++ b/gdb/nat/windows-nat.h
@@ -245,6 +245,11 @@ extern gdb::optional<pending_stop> fetch_pending_stop (bool debug_events);
extern BOOL continue_last_debug_event (DWORD continue_status,
bool debug_events);
+/* A simple wrapper for WaitForDebugEvent that also sets
+ 'last_wait_event' on success. */
+
+extern BOOL wait_for_debug_event (DEBUG_EVENT *event, DWORD timeout);
+
}
#endif
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 2ee7a2412a9..cdaca8d0cbf 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -1495,17 +1495,6 @@ ctrl_c_handler (DWORD event_type)
return TRUE;
}
-/* A wrapper for WaitForDebugEvent that sets "last_wait_event"
- appropriately. */
-static BOOL
-wait_for_debug_event (DEBUG_EVENT *event, DWORD timeout)
-{
- BOOL result = WaitForDebugEvent (event, timeout);
- if (result)
- last_wait_event = *event;
- return result;
-}
-
/* Get the next event from the child. Returns a non-zero thread id if the event
requires handling by WFI (or whatever). */
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 6793795376e..792834077fe 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
2020-04-08 Tom Tromey <tromey@adacore.com>
+ * win32-low.c (win32_kill, get_child_debug_event): Use
+ wait_for_debug_event.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
* win32-low.c (child_continue): Call continue_last_debug_event.
2020-04-08 Tom Tromey <tromey@adacore.com>
diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc
index 33f64700153..d151505e9f8 100644
--- a/gdbserver/win32-low.cc
+++ b/gdbserver/win32-low.cc
@@ -797,7 +797,7 @@ win32_process_target::kill (process_info *process)
{
if (!child_continue (DBG_CONTINUE, -1))
break;
- if (!WaitForDebugEvent (&current_event, INFINITE))
+ if (!wait_for_debug_event (&current_event, INFINITE))
break;
if (current_event.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT)
break;
@@ -1231,7 +1231,7 @@ get_child_debug_event (DWORD *continue_status,
happen is the user will see a spurious breakpoint. */
current_event.dwDebugEventCode = 0;
- if (!WaitForDebugEvent (&current_event, 0))
+ if (!wait_for_debug_event (&current_event, 0))
{
OUTMSG2(("no attach events left\n"));
fake_breakpoint_event ();
@@ -1246,7 +1246,7 @@ get_child_debug_event (DWORD *continue_status,
/* Keep the wait time low enough for comfortable remote
interruption, but high enough so gdbserver doesn't become a
bottleneck. */
- if (!WaitForDebugEvent (&current_event, 250))
+ if (!wait_for_debug_event (&current_event, 250))
{
DWORD e = GetLastError();