diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-06 13:30:25 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-10 11:42:25 +0200 |
commit | cb4358c9b16289d938f41d04a71dfaddb9716b0e (patch) | |
tree | 558c6bb21cfa49cd77fc07141b07145befe0abb1 | |
parent | common: Remove probably superfluous import (diff) | |
download | rtems-docs-cb4358c9b16289d938f41d04a71dfaddb9716b0e.tar.bz2 |
user: Add shell environment migration aid
Update #3859.
-rw-r--r-- | user/migration/v4_11-to-v5.rst | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/user/migration/v4_11-to-v5.rst b/user/migration/v4_11-to-v5.rst index a0cab02..0e0fb46 100644 --- a/user/migration/v4_11-to-v5.rst +++ b/user/migration/v4_11-to-v5.rst @@ -126,3 +126,30 @@ interface name. exit(1); } } + +Shell Environment +----------------- + +To address resource leaks in the RTEMS shell, the management of shell +environments changed. This change may break existing code. Here is an example +how a broken Telnet shell can be fixed: + +. code-block:: c + + static void + telnet_shell( char *name, void *arg ) + { + rtems_shell_env_t env; + + /* Previous WRONG approach: memset( &env, 0, sizeof( env) ); */ + + /* Correct way to initialize the shell environment */ + rtems_shell_dup_current_env( &env ); + + env.devname = name; + env.taskname = "TLNT"; + env.login_check = NULL; + env.forever = false; + + rtems_shell_main_loop( &env ); + } |