[rt-smart][fix/lwp] don't restore terminal for background lwp (#6847)
* [fix/lwp] don't restore term for background lwp
This commit is contained in:
parent
7b35c8d353
commit
b2402029b2
|
@ -25,6 +25,7 @@
|
||||||
#define BAUD_RATE_115200 115200
|
#define BAUD_RATE_115200 115200
|
||||||
#define BAUD_RATE_230400 230400
|
#define BAUD_RATE_230400 230400
|
||||||
#define BAUD_RATE_460800 460800
|
#define BAUD_RATE_460800 460800
|
||||||
|
#define BAUD_RATE_500000 500000
|
||||||
#define BAUD_RATE_921600 921600
|
#define BAUD_RATE_921600 921600
|
||||||
#define BAUD_RATE_2000000 2000000
|
#define BAUD_RATE_2000000 2000000
|
||||||
#define BAUD_RATE_2500000 2500000
|
#define BAUD_RATE_2500000 2500000
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#define BAUD_RATE_115200 115200
|
#define BAUD_RATE_115200 115200
|
||||||
#define BAUD_RATE_230400 230400
|
#define BAUD_RATE_230400 230400
|
||||||
#define BAUD_RATE_460800 460800
|
#define BAUD_RATE_460800 460800
|
||||||
|
#define BAUD_RATE_500000 500000
|
||||||
#define BAUD_RATE_921600 921600
|
#define BAUD_RATE_921600 921600
|
||||||
#define BAUD_RATE_2000000 2000000
|
#define BAUD_RATE_2000000 2000000
|
||||||
#define BAUD_RATE_2500000 2500000
|
#define BAUD_RATE_2500000 2500000
|
||||||
|
|
|
@ -922,6 +922,7 @@ static const struct speed_baudrate_item _tbl[] =
|
||||||
{B115200, BAUD_RATE_115200},
|
{B115200, BAUD_RATE_115200},
|
||||||
{B230400, BAUD_RATE_230400},
|
{B230400, BAUD_RATE_230400},
|
||||||
{B460800, BAUD_RATE_460800},
|
{B460800, BAUD_RATE_460800},
|
||||||
|
{B500000, BAUD_RATE_500000},
|
||||||
{B921600, BAUD_RATE_921600},
|
{B921600, BAUD_RATE_921600},
|
||||||
{B2000000, BAUD_RATE_2000000},
|
{B2000000, BAUD_RATE_2000000},
|
||||||
{B3000000, BAUD_RATE_3000000},
|
{B3000000, BAUD_RATE_3000000},
|
||||||
|
|
|
@ -1024,6 +1024,7 @@ const static struct speed_baudrate_item _tbl[] =
|
||||||
{B115200, BAUD_RATE_115200},
|
{B115200, BAUD_RATE_115200},
|
||||||
{B230400, BAUD_RATE_230400},
|
{B230400, BAUD_RATE_230400},
|
||||||
{B460800, BAUD_RATE_460800},
|
{B460800, BAUD_RATE_460800},
|
||||||
|
{B500000, BAUD_RATE_500000},
|
||||||
{B921600, BAUD_RATE_921600},
|
{B921600, BAUD_RATE_921600},
|
||||||
{B2000000, BAUD_RATE_2000000},
|
{B2000000, BAUD_RATE_2000000},
|
||||||
{B3000000, BAUD_RATE_3000000},
|
{B3000000, BAUD_RATE_3000000},
|
||||||
|
|
|
@ -1282,6 +1282,10 @@ pid_t lwp_execve(char *filename, int debug, int argc, char **argv, char **envp)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lwp->background = RT_TRUE;
|
||||||
|
}
|
||||||
thread->lwp = lwp;
|
thread->lwp = lwp;
|
||||||
#ifndef ARCH_MM_MMU
|
#ifndef ARCH_MM_MMU
|
||||||
struct lwp_app_head *app_head = (struct lwp_app_head*)lwp->text_entry;
|
struct lwp_app_head *app_head = (struct lwp_app_head*)lwp->text_entry;
|
||||||
|
|
|
@ -126,6 +126,7 @@ struct rt_lwp
|
||||||
struct lwp_avl_struct *address_search_head; /* for addressed object fast rearch */
|
struct lwp_avl_struct *address_search_head; /* for addressed object fast rearch */
|
||||||
char working_directory[DFS_PATH_MAX];
|
char working_directory[DFS_PATH_MAX];
|
||||||
int debug;
|
int debug;
|
||||||
|
int background;
|
||||||
uint32_t bak_first_ins;
|
uint32_t bak_first_ins;
|
||||||
|
|
||||||
#ifdef LWP_ENABLE_ASID
|
#ifdef LWP_ENABLE_ASID
|
||||||
|
|
|
@ -445,7 +445,7 @@ void lwp_free(struct rt_lwp* lwp)
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_hw_interrupt_enable(level);
|
rt_hw_interrupt_enable(level);
|
||||||
/* for parent */
|
if (!lwp->background)
|
||||||
{
|
{
|
||||||
struct termios *old_stdin_termios = get_old_termios();
|
struct termios *old_stdin_termios = get_old_termios();
|
||||||
struct rt_lwp *old_lwp = NULL;
|
struct rt_lwp *old_lwp = NULL;
|
||||||
|
@ -466,7 +466,10 @@ void lwp_free(struct rt_lwp* lwp)
|
||||||
lwp->tty = RT_NULL;
|
lwp->tty = RT_NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* for parent */
|
||||||
|
{
|
||||||
if (lwp->parent)
|
if (lwp->parent)
|
||||||
{
|
{
|
||||||
struct rt_thread *thread;
|
struct rt_thread *thread;
|
||||||
|
|
Loading…
Reference in New Issue