From 2465c0130b861c013afa44145e7d2019f05f2bc0 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 14 Aug 2017 14:50:55 +1000 Subject: libmisc/shell: Make some internal shell functions public. - Add 'rtems_shell_init_environment()' so a user can create the shell environment without needing to run a shell. - Move 'rtems_shell_lookup_topic', 'rtems_shell_can_see_cmd', and 'rtems_shell_execute_cmd' from the internal interface to the public interface. Closes #3096. --- cpukit/libmisc/shell/shell.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'cpukit/libmisc/shell/shell.c') diff --git a/cpukit/libmisc/shell/shell.c b/cpukit/libmisc/shell/shell.c index e7e57933a0..5f042f5855 100644 --- a/cpukit/libmisc/shell/shell.c +++ b/cpukit/libmisc/shell/shell.c @@ -147,6 +147,12 @@ static void rtems_shell_init_once(void) "running on %m\n"); rtems_shell_init_commands(); + rtems_shell_register_monitor_commands(); +} + +void rtems_shell_init_environment(void) +{ + assert(pthread_once(&rtems_shell_once, rtems_shell_init_once) == 0); } /* @@ -721,10 +727,7 @@ bool rtems_shell_main_loop( FILE *stdinToClose = NULL; FILE *stdoutToClose = NULL; - eno = pthread_once(&rtems_shell_once, rtems_shell_init_once); - assert(eno == 0); - - rtems_shell_register_monitor_commands(); + rtems_shell_init_environment(); shell_env = rtems_shell_init_env(shell_env_arg); if (shell_env == NULL) { -- cgit v1.2.3