Simplify event-loop core, remove two-step event processing
[binutils-gdb.git] / gdb / ChangeLog
index 9a36dc8276bd628f4d14f0a4283ed49e6f5bd6b7..44dc1eab3767575225fe1e6582c86073b92bd47a 100644 (file)
@@ -1,3 +1,29 @@
+2015-02-03  Pedro Alves  <palves@redhat.com>
+
+       * event-loop.c: Don't declare nor define a queue type for
+       gdb_event_p.
+       (event_queue): Delete.
+       (create_event, create_file_event, gdb_event_xfree)
+       (initialize_event_loop, process_event): Delete.
+       (gdb_do_one_event): Return as soon as one event is handled.
+       (handle_file_event): Change prototype.  Used the passed in
+       file_handler pointer and ready_mask instead of looping over all
+       file handlers.
+       (gdb_wait_for_event): Update the poll/select timeouts before
+       blocking.  Run event handlers directly instead of queueing events.
+       Return as soon as one event is handled.
+       (struct async_event_handler_data): Delete.
+       (invoke_async_event_handler): Delete.
+       (check_async_event_handlers): Change return type to int.  Run
+       event handlers directly instead of queueing events.  Return as
+       soon as one event is handled.
+       (handle_timer_event): Delete.
+       (update_wait_timeout): New function, factored out from
+       poll_timers.
+       (poll_timers): Reimplement.
+       * event-loop.h (initialize_event_loop): Delete declaration.
+       * top.c (gdb_init): Don't call initialize_event_loop.
+
 2015-02-03  Pedro Alves  <palves@redhat.com>
 
        * event-loop.c (clear_async_event_handler): New function.