aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rtos/rtos.c5
-rw-r--r--src/rtos/rtos.h1
-rw-r--r--src/target/target.c2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/rtos/rtos.c b/src/rtos/rtos.c
index 002d7b5..549833f 100644
--- a/src/rtos/rtos.c
+++ b/src/rtos/rtos.c
@@ -159,6 +159,11 @@ int rtos_create(Jim_GetOptInfo *goi, struct target *target)
return JIM_ERR;
}
+void rtos_destroy(struct target *target)
+{
+ os_free(target);
+}
+
int gdb_thread_packet(struct connection *connection, char const *packet, int packet_size)
{
struct target *target = get_target_from_connection(connection);
diff --git a/src/rtos/rtos.h b/src/rtos/rtos.h
index a649e24..c755eec 100644
--- a/src/rtos/rtos.h
+++ b/src/rtos/rtos.h
@@ -111,6 +111,7 @@ struct rtos_register_stacking {
#define GDB_THREAD_PACKET_NOT_CONSUMED (-40)
int rtos_create(Jim_GetOptInfo *goi, struct target *target);
+void rtos_destroy(struct target *target);
int rtos_set_reg(struct connection *connection, int reg_num,
uint8_t *reg_value);
int rtos_generic_stack_read(struct target *target,
diff --git a/src/target/target.c b/src/target/target.c
index ceecaee..b77400c 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -2049,6 +2049,8 @@ static void target_destroy(struct target *target)
target->smp = 0;
}
+ rtos_destroy(target);
+
free(target->gdb_port_override);
free(target->type);
free(target->trace_info);