Excellent.  I came up with nearly the same patch before running out for
the evening.  The difference being that I put _after_ the last possible
failure path, so it's possible to recover and try again.

On Sat, 2009-11-28 at 22:43 -0800, David Brownell wrote:
> On Saturday 28 November 2009, David Brownell wrote:
> > I just pulled everything into a workspace and built it ... now it's
> > failing left and right.
> 
> This makes the worst of it go away.  The context mode 
> is supposed to change when "init" runs ... which isn't
> necessarily going to be when main() tries to do that.
> 
> 
> --- a/src/openocd.c
> +++ b/src/openocd.c
> @@ -109,6 +109,8 @@ COMMAND_HANDLER(handle_init_command)
>  
>       atexit(exit_handler);
>  
> +     command_context_mode(CMD_CTX, COMMAND_EXEC);
> +
>       if (target_init(CMD_CTX) != ERROR_OK)
>               return ERROR_FAIL;
>       LOG_DEBUG("target init complete");
> @@ -267,7 +269,6 @@ int openocd_main(int argc, char *argv[])
>  
>       if (ret != ERROR_COMMAND_CLOSE_CONNECTION)
>       {
> -             command_context_mode(cmd_ctx, COMMAND_EXEC);
>               if (command_run_line(cmd_ctx, "init") != ERROR_OK)
>                       return EXIT_FAILURE;
>  


_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to