+2020-04-13 Tom Tromey <tom@tromey.com>
+
+ * event-loop.h (start_event_loop): Don't declare.
+ * event-loop.c (start_event_loop): Move...
+ * main.c (start_event_loop): ...here. Now static.
+
2020-04-13 Sergio Durigan Junior <sergiodj@sergiodj.net>
* MAINTAINERS: Update my email address.
return 1;
}
-/* Start up the event loop. This is the entry point to the event loop
- from the command loop. */
-
-void
-start_event_loop (void)
-{
- /* Loop until there is nothing to do. This is the entry point to
- the event loop engine. gdb_do_one_event will process one event
- for each invocation. It blocks waiting for an event and then
- processes it. */
- while (1)
- {
- int result = 0;
-
- try
- {
- result = gdb_do_one_event ();
- }
- catch (const gdb_exception &ex)
- {
- exception_print (gdb_stderr, ex);
-
- /* If any exception escaped to here, we better enable
- stdin. Otherwise, any command that calls async_disable_stdin,
- and then throws, will leave stdin inoperable. */
- SWITCH_THRU_ALL_UIS ()
- {
- async_enable_stdin ();
- }
- /* If we long-jumped out of do_one_event, we probably didn't
- get around to resetting the prompt, which leaves readline
- in a messed-up state. Reset it here. */
- current_ui->prompt_state = PROMPT_NEEDED;
- gdb::observers::command_error.notify ();
- /* This call looks bizarre, but it is required. If the user
- entered a command that caused an error,
- after_char_processing_hook won't be called from
- rl_callback_read_char_wrapper. Using a cleanup there
- won't work, since we want this function to be called
- after a new prompt is printed. */
- if (after_char_processing_hook)
- (*after_char_processing_hook) ();
- /* Maybe better to set a flag to be checked somewhere as to
- whether display the prompt or not. */
- }
-
- if (result < 0)
- break;
- }
-
- /* We are done with the event loop. There are no more event sources
- to listen to. So we exit GDB. */
- return;
-}
\f
/* Wrapper function for create_file_handler, so that the caller
/* Exported functions from event-loop.c */
-extern void start_event_loop (void);
extern int gdb_do_one_event (void);
extern void delete_file_handler (int fd);
extern void add_file_handler (int fd, handler_func *proc,
#include "gdbtk/generic/gdbtk.h"
#endif
#include "gdbsupport/alt-stack.h"
+#include "observable.h"
/* The selected interpreter. This will be used as a set command
variable, so it should always be malloc'ed - since
*local_gdbinit = localinit;
}
+/* Start up the event loop. This is the entry point to the event loop
+ from the command loop. */
+
+static void
+start_event_loop ()
+{
+ /* Loop until there is nothing to do. This is the entry point to
+ the event loop engine. gdb_do_one_event will process one event
+ for each invocation. It blocks waiting for an event and then
+ processes it. */
+ while (1)
+ {
+ int result = 0;
+
+ try
+ {
+ result = gdb_do_one_event ();
+ }
+ catch (const gdb_exception &ex)
+ {
+ exception_print (gdb_stderr, ex);
+
+ /* If any exception escaped to here, we better enable
+ stdin. Otherwise, any command that calls async_disable_stdin,
+ and then throws, will leave stdin inoperable. */
+ SWITCH_THRU_ALL_UIS ()
+ {
+ async_enable_stdin ();
+ }
+ /* If we long-jumped out of do_one_event, we probably didn't
+ get around to resetting the prompt, which leaves readline
+ in a messed-up state. Reset it here. */
+ current_ui->prompt_state = PROMPT_NEEDED;
+ gdb::observers::command_error.notify ();
+ /* This call looks bizarre, but it is required. If the user
+ entered a command that caused an error,
+ after_char_processing_hook won't be called from
+ rl_callback_read_char_wrapper. Using a cleanup there
+ won't work, since we want this function to be called
+ after a new prompt is printed. */
+ if (after_char_processing_hook)
+ (*after_char_processing_hook) ();
+ /* Maybe better to set a flag to be checked somewhere as to
+ whether display the prompt or not. */
+ }
+
+ if (result < 0)
+ break;
+ }
+
+ /* We are done with the event loop. There are no more event sources
+ to listen to. So we exit GDB. */
+ return;
+}
+
/* Call command_loop. */
/* Prevent inlining this function for the benefit of GDB's selftests