diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-04-24 21:00:13 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-04-24 21:00:13 +0000 |
commit | c3e2b812d0111da86f66fced7b33492261db1480 (patch) | |
tree | 8215cd8205ff2c01839cb76825b748818aabed97 /gdb/serial.c | |
parent | fbefa34ecb796d084af2d1a58c9cb651e2b4a62e (diff) | |
download | gdb-c3e2b812d0111da86f66fced7b33492261db1480.zip gdb-c3e2b812d0111da86f66fced7b33492261db1480.tar.gz gdb-c3e2b812d0111da86f66fced7b33492261db1480.tar.bz2 |
* ser-mingw.c: Include <conio.h>.
(struct ser_console_state, struct net_windows_state): Add exit_select,
have_stopped, thread.
(pipe_select_thread, console_select_thread)
(net_windows_select_thread): Don't create a local state copy or
close stop_select. Exit on exit_select instead of stop_select. Set
have_stopped.
(console_select_thread): Don't report control keypresses as pending
input.
(pipe_select_thread): Allow stop_select to interrupt sleeping.
(set_console_wait_handle): Create exit_select and have_stopped.
Save the thread handle. Check _kbhit before starting a thread.
(ser_console_done_wait_handle): New.
(ser_console_close): Close new handles. Wait for the thread to
exit.
(new_windows_select_thread): Assert that an event occurred.
(net_windows_wait_handle): Check for pending input before starting
a thread.
(net_windows_done_wait_handle): New.
(net_windows_open): Create exit_select and have_stopped.
Save the thread handle.
(net_windows_close): Close new handles. Wait for the thread to
exit.
(_intiialize_ser_windows): Register done_wait_handle methods.
* serial.c [USE_WIN32API] (serial_done_wait_handle): New.
* serial.h [USE_WIN32API] (struct serial_ops): Add done_wait_handle.
[USE_WIN32API] (serial_done_wait_handle): New prototype.
* mingw-hdep.c (gdb_select): Use serial_done_wait_handle.
Diffstat (limited to 'gdb/serial.c')
-rw-r--r-- | gdb/serial.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/serial.c b/gdb/serial.c index fb74e1c..6a2c634 100644 --- a/gdb/serial.c +++ b/gdb/serial.c @@ -557,6 +557,13 @@ serial_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) *except = NULL; } } + +void +serial_done_wait_handle (struct serial *scb) +{ + if (scb->ops->done_wait_handle) + scb->ops->done_wait_handle (scb); +} #endif #if 0 |