From: Keith Seitz Date: Tue, 22 Oct 2002 17:53:42 +0000 (+0000) Subject: * mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=99615eb88f4394f240d5cc8807b5c15db91cc754;p=binutils-gdb.git * 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. --- diff --git a/gdb/mi/ChangeLog b/gdb/mi/ChangeLog index 0a0954f534e..5a89d5f23dc 100644 --- a/gdb/mi/ChangeLog +++ b/gdb/mi/ChangeLog @@ -1,3 +1,9 @@ +2002-10-22 Keith Seitz + + * 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 * gdbmi.texinfo: Fix examples that show frames to remove diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 41775922def..a866042fdc0 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; }