summaryrefslogtreecommitdiff
path: root/src/server/gdb_server.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-11-05 08:48:50 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-11-05 08:48:50 +0000
commit71c73068858ad80020c7956a215a5ec590704ddb (patch)
treea7e3d4e0e1d0f093a38f0e2cfda775433ff19c43 /src/server/gdb_server.c
parentbbafcb3758ac315b94ac54e88ab2dafe8377e062 (diff)
downloadopenocd+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/gdb_server.c')
-rw-r--r--src/server/gdb_server.c6
1 files changed, 6 insertions, 0 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)
{