RTEMS shell and telnetd

Sebastian Huber sebastian.huber at embedded-brains.de
Wed May 28 15:13:01 UTC 2014


Hello Peter,

On 2014-05-28 17:04, Peter Dufault wrote:
> I'm figuring out how we're supposed to hook telnetd and RTEMS shell together in the git head and I don't understand the intent.  I used to do it like this:
>
> static void sh_wrap(char *unused_dev, void *arg)
> {
>      rtems_shell_env_t my_env = rtems_global_shell_env;
>      my_env.forever = false;
>      (void)rtems_shell_main_loop( &my_env );
> }
>
> rtems_telnetd_config_table rtems_telnetd_config = {
>      sh_wrap,                /* Command */
>      NULL,                   /* Argument */
>      0,                      /* Priority */
>      20 * RTEMS_MINIMUM_STACK_SIZE, /* task stack size */
>      0,                      /* Login check */
>      0                       /* Keep stdio of the caller  */
> };
>
> and later call:
>
>      rtems_telnetd_initialize();
>
> "rtems_global_shell_env" is no longer global.  "rtems_shell_init_env()" which would initialize a rtems_shell_env_t is not global.  "rtems_shell_get_current_env()" won't work outside of a shell context.  Passing 0 to rtems_shell_main_loop(0) will get the default settings for the shell env, so forever will be set true and I won't be able to exit the session.
>
> Am I missing something or is the intention I set up a "my_env" myself?  rtems_shell_env_t is still global.

since so many user stumble over this problem I think we should bring this 
global rtems_global_shell_env back as a read-only variable simply to initialize 
rtems_shell_env_t variables.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list