From 71c73068858ad80020c7956a215a5ec590704ddb Mon Sep 17 00:00:00 2001
From: oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Wed, 5 Nov 2008 08:48:50 +0000
Subject: 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
---
 src/server/gdb_server.c    |  6 ++++++
 src/server/telnet_server.c | 14 +-------------
 2 files changed, 7 insertions(+), 13 deletions(-)

(limited to 'src/server')

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)
-- 
cgit v1.2.3