]> git.sur5r.net Git - openocd/blobdiff - src/rtos/eCos.c
RTOS: Unify wipe-out of thread list
[openocd] / src / rtos / eCos.c
index 9ab88dec01e5da06b633040a9540808e5a16c73a..7310d6d64039be212284fe18f50a77488ac1a3b3 100644 (file)
@@ -125,25 +125,7 @@ static int eCos_update_threads(struct rtos *rtos)
        }
 
        /* wipe out previous thread details if any */
-       if (rtos->thread_details != NULL) {
-               int j;
-               for (j = 0; j < rtos->thread_count; j++) {
-                       if (rtos->thread_details[j].display_str != NULL) {
-                               free(rtos->thread_details[j].display_str);
-                               rtos->thread_details[j].display_str = NULL;
-                       }
-                       if (rtos->thread_details[j].thread_name_str != NULL) {
-                               free(rtos->thread_details[j].thread_name_str);
-                               rtos->thread_details[j].thread_name_str = NULL;
-                       }
-                       if (rtos->thread_details[j].extra_info_str != NULL) {
-                               free(rtos->thread_details[j].extra_info_str);
-                               rtos->thread_details[j].extra_info_str = NULL;
-                       }
-               }
-               free(rtos->thread_details);
-               rtos->thread_details = NULL;
-       }
+       rtos_free_threadlist(rtos);
 
        /* determine the number of current threads */
        uint32_t thread_list_head = rtos->symbols[eCos_VAL_thread_list].address;