[HUST CSE IoTS&P Lab] [fix] check rt_mutex_create return value (#7169)

This commit is contained in:
Sparks-Pion
2023-04-04 00:33:10 -04:00
committed by GitHub
parent 3bee170d52
commit accab17fa5
6 changed files with 31 additions and 3 deletions
+15 -3
View File
@@ -536,7 +536,7 @@ static void __isig(int sig, struct tty_struct *tty)
if (sig == SIGTSTP)
{
struct rt_lwp *old_lwp;
rt_memcpy(&old_termios, &(tty->init_termios), sizeof(struct termios));
tty->init_termios = *new_termios;
ld = tty->ldisc;
@@ -549,7 +549,7 @@ static void __isig(int sig, struct tty_struct *tty)
}
tty_sigaddset(&lwp->signal_mask, SIGTTOU);
old_lwp = tty_pop(&tty->head, RT_NULL);
tty->foreground = old_lwp;
tty->foreground = old_lwp;
}
else
{
@@ -805,7 +805,7 @@ static size_t __process_echoes(struct tty_struct *tty)
unsigned char c = 0;
char ch = 0;
unsigned char num_chars = 0, num_bs = 0;
tail = ldata->echo_tail;
while (ldata->echo_commit != tail)
{
@@ -1126,7 +1126,19 @@ static int n_tty_open(struct dfs_fd *fd)
}
ldata->atomic_read_lock = rt_mutex_create("atomic_read_lock",RT_IPC_FLAG_FIFO);
if(ldata->atomic_read_lock == RT_NULL)
{
LOG_E("n_tty_open atomic_read_lock create fail");
return -1;
}
ldata->output_lock = rt_mutex_create("output_lock",RT_IPC_FLAG_FIFO);
if(ldata->output_lock == RT_NULL)
{
LOG_E("n_tty_open output_lock create fail");
return -1;
}
tty->disc_data = ldata;
reset_buffer_flags(ldata);
ldata->column = 0;
+2
View File
@@ -1016,6 +1016,8 @@ rt_err_t sys_sem_release(rt_sem_t sem)
rt_mutex_t sys_mutex_create(const char *name, rt_uint8_t flag)
{
rt_mutex_t mutex = rt_mutex_create(name, flag);
if(mutex == NULL)
return NULL;
if (lwp_user_object_add(lwp_self(), (rt_object_t)mutex) != 0)
{
rt_mutex_delete(mutex);