aboutsummaryrefslogtreecommitdiff
path: root/src/gdb_main.c
diff options
context:
space:
mode:
authorGareth McMullin2012-11-03 16:42:46 +1300
committerGareth McMullin2012-11-03 16:42:46 +1300
commit0990c2224c201a1f42533a754c9ef3b548335406 (patch)
tree3f0da0778087db8cd0c8471525b05461d7afef3d /src/gdb_main.c
parentfaa43fdc92f6d0749c51522b777d678c2a4fe8f4 (diff)
Allow target attachment to timeout and report failure.
This is needed for if the target device is held in reset.
Diffstat (limited to 'src/gdb_main.c')
-rw-r--r--src/gdb_main.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gdb_main.c b/src/gdb_main.c
index 58ad223..8c5f6d4 100644
--- a/src/gdb_main.c
+++ b/src/gdb_main.c
@@ -396,14 +396,15 @@ handle_v_packet(char *packet, int plen)
/* Attach to remote target processor */
target *t;
uint32_t i;
- for(t = target_list, i = 1; t; t = t->next, i++)
+ for(t = target_list, i = 1; t; t = t->next, i++)
if(i == addr) {
- cur_target = target_attach(t,
+ cur_target = target_attach(t,
gdb_target_destroy_callback);
- gdb_putpacketz("T05");
break;
}
- if(!cur_target) /* Failed to attach */
+ if(cur_target)
+ gdb_putpacketz("T05");
+ else
gdb_putpacketz("E01");
} else if (!strcmp(packet, "vRun;")) {