diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-11-05 08:48:50 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-11-05 08:48:50 +0000 |
commit | 71c73068858ad80020c7956a215a5ec590704ddb (patch) | |
tree | a7e3d4e0e1d0f093a38f0e2cfda775433ff19c43 /src/server | |
parent | bbafcb3758ac315b94ac54e88ab2dafe8377e062 (diff) | |
download | openocd_libswd-71c73068858ad80020c7956a215a5ec590704ddb.tar.gz openocd_libswd-71c73068858ad80020c7956a215a5ec590704ddb.tar.bz2 openocd_libswd-71c73068858ad80020c7956a215a5ec590704ddb.tar.xz openocd_libswd-71c73068858ad80020c7956a215a5ec590704ddb.zip |
fix telnet async messages. retired telnet_async command - no user serviceable parts inside.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1135 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/gdb_server.c | 6 | ||||
-rw-r--r-- | src/server/telnet_server.c | 14 |
2 files changed, 7 insertions, 13 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 0ebe56cb..febad6e2 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -671,6 +671,7 @@ static void gdb_frontend_halted(struct target_s *target, connection_t *connectio { char sig_reply[4]; int signal; + /* stop forwarding log packets! */ log_remove_callback(gdb_log_callback, connection); @@ -701,6 +702,9 @@ int gdb_target_callback_event_handler(struct target_s *target, enum target_event case TARGET_EVENT_EARLY_HALTED: gdb_frontend_halted(target, connection); break; + case TARGET_EVENT_HALTED: + target_call_event_callbacks(target, TARGET_EVENT_GDB_END); + break; case TARGET_EVENT_GDB_FLASH_ERASE_START: target_handle_event( target, TARGET_EVENT_OLD_gdb_program_config ); if((retval = jtag_execute_queue()) != ERROR_OK) @@ -815,6 +819,7 @@ int gdb_connection_closed(connection_t *connection) } target_unregister_event_callback(gdb_target_callback_event_handler, connection); + target_call_event_callbacks(gdb_service->target, TARGET_EVENT_GDB_END); log_remove_callback(gdb_log_callback, connection); target_call_event_callbacks(gdb_service->target, TARGET_EVENT_GDB_DETACH ); @@ -2054,6 +2059,7 @@ int gdb_input_inner(connection_t *connection) gdb_connection_t *gdb_con = connection->priv; gdb_con->frontend_state = TARGET_RUNNING; log_add_callback(gdb_log_callback, connection); + target_call_event_callbacks(target, TARGET_EVENT_GDB_START); int retval=gdb_step_continue_packet(connection, target, packet, packet_size); if (retval!=ERROR_OK) { diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c index ef22348a..6b090495 100644 --- a/src/server/telnet_server.c +++ b/src/server/telnet_server.c @@ -48,11 +48,6 @@ static unsigned short telnet_port = 0; int handle_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); int handle_telnet_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); -static int telnet_async() -{ - return jim_global_long("telnet_async_state"); -} - static char *negotiate = "\xFF\xFB\x03" /* IAC WILL Suppress Go Ahead */ "\xFF\xFB\x01" /* IAC WILL Echo */ @@ -191,8 +186,7 @@ int telnet_new_connection(connection_t *connection) telnet_connection->next_history = 0; telnet_connection->current_history = 0; - if (telnet_async()) - log_add_callback(telnet_log_callback, connection); + log_add_callback(telnet_log_callback, connection); @@ -348,14 +342,8 @@ int telnet_input(connection_t *connection) t_con->line_cursor = -1; /* to supress prompt in log callback during command execution */ - if (!telnet_async()) - log_add_callback(telnet_log_callback, connection); - retval = command_run_line(command_context, t_con->line); - if (!telnet_async()) - log_remove_callback(telnet_log_callback, connection); - t_con->line_cursor = 0; if (retval == ERROR_COMMAND_CLOSE_CONNECTION) |