X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Frtos%2FChibiOS.c;h=c54f43053f04fce5d4f2e083ce7d32243ed2a9f6;hp=47e7fc5ddbb531a56faedac20b09bcb0c87e038f;hb=d36889e692788d4dc4acabd073d57f4a178e3172;hpb=08d4411b59dd8bd0e7d8009003b71d23acbf6eee diff --git a/src/rtos/ChibiOS.c b/src/rtos/ChibiOS.c index 47e7fc5ddb..c54f43053f 100644 --- a/src/rtos/ChibiOS.c +++ b/src/rtos/ChibiOS.c @@ -296,21 +296,8 @@ static int ChibiOS_update_threads(struct rtos *rtos) } /* wipe out previous thread details if any */ - int j; - if (rtos->thread_details) { - for (j = 0; j < rtos->thread_count; j++) { - struct thread_detail *current_thread = &rtos->thread_details[j]; - if (current_thread->display_str != NULL) - free(current_thread->display_str); - if (current_thread->thread_name_str != NULL) - free(current_thread->thread_name_str); - if (current_thread->extra_info_str != NULL) - free(current_thread->extra_info_str); - } - free(rtos->thread_details); - rtos->thread_details = NULL; - rtos->thread_count = 0; - } + rtos_free_threadlist(rtos); + /* ChibiOS does not save the current thread count. We have to first * parse the double linked thread list to check for errors and the number of * threads. */ @@ -552,6 +539,6 @@ static int ChibiOS_create(struct target *target) return -1; } - target->rtos->rtos_specific_params = (void *) &ChibiOS_params_list[i]; + target->rtos->rtos_specific_params = &ChibiOS_params_list[i]; return 0; }