mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
sys/shell_lock: lock shell on EOF
This commit is contained in:
parent
f58384832c
commit
c0a4acf32d
@ -68,6 +68,11 @@ void shell_lock_checkpoint(char *line_buf, int buf_size);
|
|||||||
*/
|
*/
|
||||||
bool shell_lock_is_locked(void);
|
bool shell_lock_is_locked(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Lock the shell
|
||||||
|
*/
|
||||||
|
void shell_lock_do_lock(void);
|
||||||
|
|
||||||
#ifdef MODULE_SHELL_LOCK_AUTO_LOCKING
|
#ifdef MODULE_SHELL_LOCK_AUTO_LOCKING
|
||||||
/**
|
/**
|
||||||
* @brief Restart the timeout interval before the shell is locked
|
* @brief Restart the timeout interval before the shell is locked
|
||||||
|
@ -501,6 +501,9 @@ void shell_run_once(const shell_command_t *shell_commands,
|
|||||||
switch (res) {
|
switch (res) {
|
||||||
|
|
||||||
case EOF:
|
case EOF:
|
||||||
|
if (IS_USED(MODULE_SHELL_LOCK)) {
|
||||||
|
shell_lock_do_lock();
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case -ENOBUFS:
|
case -ENOBUFS:
|
||||||
|
@ -143,10 +143,15 @@ static void _login_barrier(char *line_buf, size_t buf_size)
|
|||||||
#ifdef MODULE_STDIO_TELNET
|
#ifdef MODULE_STDIO_TELNET
|
||||||
void telnet_cb_disconneced(void)
|
void telnet_cb_disconneced(void)
|
||||||
{
|
{
|
||||||
_shell_is_locked = true;
|
shell_lock_do_lock();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void shell_lock_do_lock(void)
|
||||||
|
{
|
||||||
|
_shell_is_locked = true;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef MODULE_SHELL_LOCK_AUTO_LOCKING
|
#ifdef MODULE_SHELL_LOCK_AUTO_LOCKING
|
||||||
static void _shell_auto_lock_ztimer_callback(void *arg)
|
static void _shell_auto_lock_ztimer_callback(void *arg)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user