OLD | NEW |
1 /* Handling of inferior events for the event loop for GDB, the GNU debugger. | 1 /* Handling of inferior events for the event loop for GDB, the GNU debugger. |
2 Copyright (C) 1999, 2007-2012 Free Software Foundation, Inc. | 2 Copyright (C) 1999, 2007-2012 Free Software Foundation, Inc. |
3 Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions. | 3 Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions. |
4 | 4 |
5 This file is part of GDB. | 5 This file is part of GDB. |
6 | 6 |
7 This program is free software; you can redistribute it and/or modify | 7 This program is free software; you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
9 the Free Software Foundation; either version 3 of the License, or | 9 the Free Software Foundation; either version 3 of the License, or |
10 (at your option) any later version. | 10 (at your option) any later version. |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "target.h" /* For enum inferior_event_type. */ | 22 #include "target.h" /* For enum inferior_event_type. */ |
23 #include "event-loop.h" | 23 #include "event-loop.h" |
24 #include "event-top.h" | 24 #include "event-top.h" |
25 #include "inf-loop.h" | 25 #include "inf-loop.h" |
26 #include "remote.h" | 26 #include "remote.h" |
27 #include "exceptions.h" | 27 #include "exceptions.h" |
28 #include "language.h" | 28 #include "language.h" |
29 #include "gdbthread.h" | 29 #include "gdbthread.h" |
30 #include "continuations.h" | 30 #include "continuations.h" |
31 #include "interps.h" | 31 #include "interps.h" |
| 32 #include "top.h" |
32 | 33 |
33 static int fetch_inferior_event_wrapper (gdb_client_data client_data); | 34 static int fetch_inferior_event_wrapper (gdb_client_data client_data); |
34 | 35 |
35 /* General function to handle events in the inferior. So far it just | 36 /* General function to handle events in the inferior. So far it just |
36 takes care of detecting errors reported by select() or poll(), | 37 takes care of detecting errors reported by select() or poll(), |
37 otherwise it assumes that all is OK, and goes on reading data from | 38 otherwise it assumes that all is OK, and goes on reading data from |
38 the fd. This however may not always be what we want to do. */ | 39 the fd. This however may not always be what we want to do. */ |
39 void | 40 void |
40 inferior_event_handler (enum inferior_event_type event_type, | 41 inferior_event_handler (enum inferior_event_type event_type, |
41 gdb_client_data client_data) | 42 gdb_client_data client_data) |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 do_all_continuations_thread (inferior_thread (), 0); | 100 do_all_continuations_thread (inferior_thread (), 0); |
100 else | 101 else |
101 do_all_continuations (0); | 102 do_all_continuations (0); |
102 | 103 |
103 /* When running a command list (from a user command, say), these | 104 /* When running a command list (from a user command, say), these |
104 are only run when the command list is all done. */ | 105 are only run when the command list is all done. */ |
105 if (interpreter_async) | 106 if (interpreter_async) |
106 { | 107 { |
107 volatile struct gdb_exception e; | 108 volatile struct gdb_exception e; |
108 | 109 |
109 » if (info_verbose | 110 » check_frame_language_change (); |
110 » && current_language != expected_language | |
111 » && language_mode == language_mode_auto) | |
112 » language_info (1);» /* Print what changed. */ | |
113 | 111 |
114 /* Don't propagate breakpoint commands errors. Either we're | 112 /* Don't propagate breakpoint commands errors. Either we're |
115 stopping or some command resumes the inferior. The user will | 113 stopping or some command resumes the inferior. The user will |
116 be informed. */ | 114 be informed. */ |
117 TRY_CATCH (e, RETURN_MASK_ALL) | 115 TRY_CATCH (e, RETURN_MASK_ALL) |
118 { | 116 { |
119 bpstat_do_actions (); | 117 bpstat_do_actions (); |
120 } | 118 } |
121 exception_print (gdb_stderr, e); | 119 exception_print (gdb_stderr, e); |
122 } | 120 } |
(...skipping 17 matching lines...) Expand all Loading... |
140 | 138 |
141 discard_cleanups (cleanup_if_error); | 139 discard_cleanups (cleanup_if_error); |
142 } | 140 } |
143 | 141 |
144 static int | 142 static int |
145 fetch_inferior_event_wrapper (gdb_client_data client_data) | 143 fetch_inferior_event_wrapper (gdb_client_data client_data) |
146 { | 144 { |
147 fetch_inferior_event (client_data); | 145 fetch_inferior_event (client_data); |
148 return 1; | 146 return 1; |
149 } | 147 } |
OLD | NEW |