diff options
Diffstat (limited to 'gdb/mingw-hdep.c')
-rw-r--r-- | gdb/mingw-hdep.c | 52 |
1 files changed, 1 insertions, 51 deletions
diff --git a/gdb/mingw-hdep.c b/gdb/mingw-hdep.c index 8247a8c..2e010fa 100644 --- a/gdb/mingw-hdep.c +++ b/gdb/mingw-hdep.c @@ -27,14 +27,6 @@ #include <windows.h> -/* This event is signalled whenever an asynchronous SIGINT handler - needs to perform an action in the main thread. */ -static HANDLE sigint_event; - -/* When SIGINT_EVENT is signalled, gdb_select will call this - function. */ -struct async_signal_handler *sigint_handler; - /* Return an absolute file name of the running GDB, if possible, or ARGV0 if not. The return value is in malloc'ed storage. */ @@ -120,8 +112,7 @@ gdb_select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, } } - gdb_assert (num_handles < MAXIMUM_WAIT_OBJECTS); - handles[num_handles++] = sigint_event; + gdb_assert (num_handles <= MAXIMUM_WAIT_OBJECTS); event = WaitForMultipleObjects (num_handles, handles, @@ -184,46 +175,5 @@ gdb_select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, while (RL_ISSTATE (RL_STATE_SIGHANDLER)) Sleep (1); - if (h == sigint_event - || WaitForSingleObject (sigint_event, 0) == WAIT_OBJECT_0) - { - if (sigint_handler != NULL) - call_async_signal_handler (sigint_handler); - - if (num_ready == 0) - { - errno = EINTR; - return -1; - } - } - return num_ready; } - -/* Wrapper for the body of signal handlers. On Windows systems, a - SIGINT handler runs in its own thread. We can't longjmp from - there, and we shouldn't even prompt the user. Delay HANDLER - until the main thread is next in gdb_select. */ - -void -gdb_call_async_signal_handler (struct async_signal_handler *handler, - int immediate_p) -{ - if (immediate_p) - sigint_handler = handler; - else - { - mark_async_signal_handler (handler); - sigint_handler = NULL; - } - SetEvent (sigint_event); -} - -/* -Wmissing-prototypes */ -extern initialize_file_ftype _initialize_mingw_hdep; - -void -_initialize_mingw_hdep (void) -{ - sigint_event = CreateEvent (0, FALSE, FALSE, 0); -} |