diff options
Diffstat (limited to 'gdb/event-loop.h')
-rw-r--r-- | gdb/event-loop.h | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/gdb/event-loop.h b/gdb/event-loop.h index 9a61d91..501a56e 100644 --- a/gdb/event-loop.h +++ b/gdb/event-loop.h @@ -18,18 +18,18 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* An event loop listens for events from multiple event sources. When +/* An event loop listens for events from multiple event sources. When an event arrives, it is queued and processed by calling the - appropriate event handler. The event loop then continues to listen - for more events. An event loop completes when there are no event + appropriate event handler. The event loop then continues to listen + for more events. An event loop completes when there are no event sources to listen on. External event sources can be plugged into the loop. There are 4 main components: - - a list of file descriptors to be monitored, GDB_NOTIFIER. + - a list of file descriptors to be monitored, GDB_NOTIFIER. - a list of asynchronous event sources to be monitored, ASYNC_EVENT_HANDLER_LIST. - - a list of events that have occurred, EVENT_QUEUE. + - a list of events that have occurred, EVENT_QUEUE. - a list of signal handling functions, SIGHANDLER_LIST. GDB_NOTIFIER keeps track of the file descriptor based event @@ -64,9 +64,9 @@ functions that are invoked through traditional signal handlers. The actions to be taken is response to such events will be executed when the SIGHANDLER_LIST is scanned, the next time through the - infinite loop. + infinite loop. - Corollary tasks are the creation and deletion of event sources. */ + Corollary tasks are the creation and deletion of event sources. */ typedef void *gdb_client_data; struct async_signal_handler; @@ -76,14 +76,14 @@ typedef void (sig_handler_func) (gdb_client_data); 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. */ +/* 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. */ + /* 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. */ + /* Add at head of queue. It will be processed in last in first + out order. */ HEAD } queue_position; @@ -93,11 +93,15 @@ queue_position; extern void start_event_loop (void); extern int gdb_do_one_event (void *data); extern void delete_file_handler (int fd); -extern void add_file_handler (int fd, handler_func * proc, gdb_client_data client_data); +extern void add_file_handler (int fd, handler_func *proc, + gdb_client_data client_data); extern struct async_signal_handler * - create_async_signal_handler (sig_handler_func * proc, gdb_client_data client_data); + create_async_signal_handler (sig_handler_func *proc, + gdb_client_data client_data); extern void delete_async_signal_handler (struct async_signal_handler **async_handler_ptr); -extern int create_timer (int milliseconds, timer_handler_func * proc, gdb_client_data client_data); +extern int create_timer (int milliseconds, + timer_handler_func *proc, + gdb_client_data client_data); extern void delete_timer (int id); /* Call the handler from HANDLER immediately. This function |