summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/stackchk/check.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/stackchk/check.c')
-rw-r--r--cpukit/libmisc/stackchk/check.c36
1 files changed, 17 insertions, 19 deletions
diff --git a/cpukit/libmisc/stackchk/check.c b/cpukit/libmisc/stackchk/check.c
index 9c6932e290..93d45de77c 100644
--- a/cpukit/libmisc/stackchk/check.c
+++ b/cpukit/libmisc/stackchk/check.c
@@ -387,8 +387,7 @@ static inline void *Stack_check_find_high_water_mark(
*
* Try to print out how much stack was actually used by the task.
*/
-static void *print_context;
-static rtems_printk_plugin_t print_handler;
+static const rtems_printer* printer;
static void Stack_check_Dump_threads_usage(
Thread_Control *the_thread
@@ -438,8 +437,8 @@ static void Stack_check_Dump_threads_usage(
if ( the_thread )
#endif
{
- (*print_handler)(
- print_context,
+ rtems_printf(
+ printer,
"0x%08" PRIx32 " %4s",
the_thread->Object.id,
rtems_object_get_name( the_thread->Object.id, sizeof(name), name )
@@ -447,12 +446,12 @@ static void Stack_check_Dump_threads_usage(
}
#if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)
else {
- (*print_handler)( print_context, "0x%08" PRIx32 " INTR", ~0 );
+ rtems_printf( printer, "0x%08" PRIx32 " INTR", ~0 );
}
#endif
- (*print_handler)(
- print_context,
+ rtems_printf(
+ printer,
" %010p - %010p %010p %8" PRId32 " ",
stack->area,
stack->area + stack->size - 1,
@@ -461,9 +460,9 @@ static void Stack_check_Dump_threads_usage(
);
if (Stack_check_Initialized == 0) {
- (*print_handler)( print_context, "Unavailable\n" );
+ rtems_printf( printer, "Unavailable\n" );
} else {
- (*print_handler)( print_context, "%8" PRId32 "\n", used );
+ rtems_printf( printer, "%8" PRId32 "\n", used );
}
@@ -489,18 +488,16 @@ static void Stack_check_Dump_threads_usage(
*/
void rtems_stack_checker_report_usage_with_plugin(
- void *context,
- rtems_printk_plugin_t print
+ const rtems_printer* printer_
)
{
- if ( !print )
+ if ( printer != NULL || ! rtems_print_printer_valid ( printer_ ) )
return;
- print_context = context;
- print_handler = print;
+ printer = printer_;
- (*print)( context, "Stack usage by thread\n");
- (*print)( context,
+ rtems_printf( printer, "Stack usage by thread\n");
+ rtems_printf( printer,
" ID NAME LOW HIGH CURRENT AVAILABLE USED\n"
);
@@ -512,11 +509,12 @@ void rtems_stack_checker_report_usage_with_plugin(
Stack_check_Dump_threads_usage((Thread_Control *) -1);
#endif
- print_context = NULL;
- print_handler = NULL;
+ printer = NULL;
}
void rtems_stack_checker_report_usage( void )
{
- rtems_stack_checker_report_usage_with_plugin( NULL, printk_plugin );
+ rtems_printer printer;
+ rtems_print_printer_printk(&printer);
+ rtems_stack_checker_report_usage_with_plugin( &printer );
}