aboutsummaryrefslogtreecommitdiff
path: root/gdb/nat
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-04-08 14:33:35 -0600
committerTom Tromey <tromey@adacore.com>2020-04-08 14:47:59 -0600
commit2c1d95e8697f64713d0f60f7b9231d13a3f6a145 (patch)
tree6e6bc6f0c78b9a706f108cab3a6fcf7c9a125cf3 /gdb/nat
parentd2977bc4253614907058d3a339875683d8215065 (diff)
downloadgdb-2c1d95e8697f64713d0f60f7b9231d13a3f6a145.zip
gdb-2c1d95e8697f64713d0f60f7b9231d13a3f6a145.tar.gz
gdb-2c1d95e8697f64713d0f60f7b9231d13a3f6a145.tar.bz2
Move wait_for_debug_event to nat/windows-nat.c
This moves the wait_for_debug_event helper function to nat/windows-nat.c, and changes gdbserver to use it. wait_for_debug_event is a wrapper for WaitForDebugEvent that also sets last_wait_event when appropriate. This is needed to properly handle queued stops. gdb/ChangeLog 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. gdbserver/ChangeLog 2020-04-08 Tom Tromey <tromey@adacore.com> * win32-low.c (win32_kill, get_child_debug_event): Use wait_for_debug_event.
Diffstat (limited to 'gdb/nat')
-rw-r--r--gdb/nat/windows-nat.c10
-rw-r--r--gdb/nat/windows-nat.h5
2 files changed, 15 insertions, 0 deletions
diff --git a/gdb/nat/windows-nat.c b/gdb/nat/windows-nat.c
index 823471e..bb28e9b 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 68b72d4..846fa67 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