diff options
Diffstat (limited to 'gdb/mi')
-rw-r--r-- | gdb/mi/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/mi/mi-main.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/mi/ChangeLog b/gdb/mi/ChangeLog index 0a0954f..5a89d5f 100644 --- a/gdb/mi/ChangeLog +++ b/gdb/mi/ChangeLog @@ -1,3 +1,9 @@ +2002-10-22 Keith Seitz <keiths@redhat.com> + + * mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR + when we really did catch an error(). If we got GDB_RC_FAIL, return + MI_CMD_ERROR instead. + 2002-10-03 Jeff Johnston <jjohnstn@redhat.com> * gdbmi.texinfo: Fix examples that show frames to remove diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 4177592..a866042 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -240,8 +240,12 @@ mi_cmd_thread_select (char *command, char **argv, int argc) else rc = gdb_thread_select (uiout, argv[0]); - if (rc == GDB_RC_FAIL) + /* RC is enum gdb_rc if it is successful (>=0) + enum return_reason if not (<0). */ + if ((int) rc < 0 && (enum return_reason) rc == RETURN_ERROR) return MI_CMD_CAUGHT_ERROR; + else if ((int) rc >= 0 && rc == GDB_RC_FAIL) + return MI_CMD_ERROR; else return MI_CMD_DONE; } |