diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-10-31 13:37:59 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-11-02 08:46:47 +0100 |
commit | d271c3bb78f86dd9417a964b019b8e38911064fa (patch) | |
tree | 3c36b87c580464cc7f1e5aec89e1137a68759da3 /cpukit/libmisc/capture/capture-cli.c | |
parent | posix: Fix timer interval (diff) | |
download | rtems-d271c3bb78f86dd9417a964b019b8e38911064fa.tar.bz2 |
rtems: Add rtems_task_iterate()
Update #2423.
Diffstat (limited to 'cpukit/libmisc/capture/capture-cli.c')
-rw-r--r-- | cpukit/libmisc/capture/capture-cli.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/cpukit/libmisc/capture/capture-cli.c b/cpukit/libmisc/capture/capture-cli.c index 05c922be44..d489d9f32a 100644 --- a/cpukit/libmisc/capture/capture-cli.c +++ b/cpukit/libmisc/capture/capture-cli.c @@ -42,11 +42,6 @@ #define RTEMS_CAPTURE_CLI_MAX_LOAD_TASKS (20) /* - * Counter used to count the number of active tasks. - */ -static int rtems_capture_cli_task_count = 0; - -/* * The user capture timestamper. */ static rtems_capture_timestamp capture_timestamp; @@ -197,8 +192,8 @@ rtems_capture_cli_disable (int argc RC_UNUSED, fprintf (stdout, "capture engine disabled.\n"); } -static void -rtems_capture_cli_print_task (rtems_tcb *tcb) +static bool +rtems_capture_cli_print_task (rtems_tcb *tcb, void *arg) { rtems_task_priority ceiling = rtems_capture_watch_get_ceiling (); rtems_task_priority floor = rtems_capture_watch_get_floor (); @@ -242,6 +237,7 @@ rtems_capture_cli_print_task (rtems_tcb *tcb) rtems_capture_watch_global_on () ? 'g' : '-'); } fprintf (stdout, "\n"); + return false; } /* @@ -251,10 +247,12 @@ rtems_capture_cli_print_task (rtems_tcb *tcb) * number of tasks. */ -static void -rtems_capture_cli_count_tasks (rtems_tcb *tcb) +static bool +rtems_capture_cli_count_tasks (rtems_tcb *tcb, void *arg) { - rtems_capture_cli_task_count++; + uint32_t *task_count = arg; + ++(*task_count); + return false; } @@ -271,16 +269,17 @@ rtems_capture_cli_task_list (int argc RC_UNUSED, bool verbose RC_UNUSED) { rtems_capture_time uptime; + uint32_t task_count; rtems_capture_get_time (&uptime); - rtems_capture_cli_task_count = 0; - rtems_iterate_over_all_threads (rtems_capture_cli_count_tasks); + task_count = 0; + rtems_task_iterate (rtems_capture_cli_count_tasks, &task_count); fprintf (stdout, "uptime: "); rtems_capture_print_timestamp (uptime); - fprintf (stdout, "\ntotal %i\n", rtems_capture_cli_task_count); - rtems_iterate_over_all_threads (rtems_capture_cli_print_task); + fprintf (stdout, "\ntotal %" PRIu32 "\n", task_count); + rtems_task_iterate (rtems_capture_cli_print_task, NULL); } /* |