if (event_loop_p) async_init_signals (); else init_signals ();
async_init_signals ();
gdb_init (char *argv0){  if (pre_init_ui_hook)    pre_init_ui_hook ();  /* Run the init function of each source file */  getcwd (gdb_dirbuf, sizeof (gdb_dirbuf));  current_directory = gdb_dirbuf;#ifdef __MSDOS__  /* Make sure we return to the original directory upon exit, come     what may, since the OS doesn't do that for us.  */  make_final_cleanup (do_chdir_cleanup, xstrdup (current_directory));#endif  init_cmd_lists ();		/* This needs to be done first */  initialize_targets ();	/* Setup target_terminal macros for utils.c */  initialize_utils ();		/* Make errors and warnings possible */  initialize_all_files ();  initialize_current_architecture ();  init_cli_cmds();  init_main ();			/* But that omits this file!  Do it now */  /* The signal handling mechanism is different depending whether or     not the async version is run. NOTE: in the future we plan to make     the event loop be the default engine of gdb, and this difference     will disappear. */  if (event_loop_p)    async_init_signals ();  else    init_signals ();  /* We need a default language for parsing expressions, so simple things like     "set width 0" won't fail if no language is explicitly set in a config file     or implicitly set by reading an executable during startup. */  set_language (language_c);  expected_language = current_language;		/* don't warn about the change.  */  /* Allow another UI to initialize. If the UI fails to initialize, and     it wants GDB to revert to the CLI, it should clear init_ui_hook. */  if (init_ui_hook)    init_ui_hook (argv0);}