/* Definitions used by the GDB event loop.
- Copyright (C) 1999, 2000, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
This file is part of GDB.
typedef void (async_event_handler_func) (gdb_client_data);
typedef void (timer_handler_func) (gdb_client_data);
-/* Where to add an event onto the event queue, by queue_event. */
-typedef enum
- {
- /* Add at tail of queue. It will be processed in first in first
- out order. */
- TAIL,
- /* Add at head of queue. It will be processed in last in first
- out order. */
- HEAD
- }
-queue_position;
-
/* Exported functions from event-loop.c */
extern void start_event_loop (void);
-extern int gdb_do_one_event (void *data);
+extern int gdb_do_one_event (void);
extern void delete_file_handler (int fd);
extern void add_file_handler (int fd, handler_func *proc,
gdb_client_data client_data);
below, with IMMEDIATE_P == 0. */
void mark_async_signal_handler (struct async_signal_handler *handler);
+/* Returns true if HANDLER is marked ready. */
+
+extern int
+ async_signal_handler_is_marked (struct async_signal_handler *handler);
+
+/* Mark HANDLER as NOT ready. */
+
+extern void clear_async_signal_handler (struct async_signal_handler *handler);
+
/* Wrapper for the body of signal handlers. Call this function from
any SIGINT handler which needs to access GDB data structures or
escape via longjmp. If IMMEDIATE_P is set, this triggers either
/* Call the handler from HANDLER the next time through the event
loop. */
extern void mark_async_event_handler (struct async_event_handler *handler);
+
+/* Mark the handler (ASYNC_HANDLER_PTR) as NOT ready. */
+
+extern void clear_async_event_handler (struct async_event_handler *handler);