From: oharboe at B. <oh...@ma...> - 2009-07-27 20:56:44
|
Author: oharboe Date: 2009-07-27 20:56:43 +0200 (Mon, 27 Jul 2009) New Revision: 2570 Modified: trunk/src/server/gdb_server.c Log: Fix NPE in GDB_EVENT_END as logforwarding was not disabled early enough Modified: trunk/src/server/gdb_server.c =================================================================== --- trunk/src/server/gdb_server.c 2009-07-27 14:46:49 UTC (rev 2569) +++ trunk/src/server/gdb_server.c 2009-07-27 18:56:43 UTC (rev 2570) @@ -816,6 +816,11 @@ gdb_service_t *gdb_service = connection->service->priv; gdb_connection_t *gdb_connection = connection->priv; + /* we're done forwarding messages. Tear down callback before + * cleaning up connection. + */ + log_remove_callback(gdb_log_callback, connection); + gdb_actual_connections--; LOG_DEBUG("GDB Close, Target: %s, state: %s, gdb_actual_connections=%d", gdb_service->target->cmd_name, @@ -843,9 +848,10 @@ LOG_ERROR("BUG: connection->priv == NULL"); } + 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); |