fix semaphore initializers to have elem_size = 1

This commit is contained in:
Chris Copeland 2018-09-28 00:03:56 -07:00
parent f24fae1d48
commit 2afd25ac66
Signed by: chrisnc
GPG Key ID: 14550DA72485DF30
2 changed files with 6 additions and 2 deletions

View File

@ -20,12 +20,12 @@ bool rt_sem_wait(rt_sem_t *sem, rt_tick_t timeout);
{ \
.recv_list = LIST_HEAD_INIT(name.recv_list), \
.send_list = LIST_HEAD_INIT(name.send_list), .buf = NULL, .len = count, \
.read_offset = 0, .write_offset = 0, .capacity = SIZE_MAX, .elem_size = 0, \
.read_offset = 0, .write_offset = 0, .capacity = SIZE_MAX, .elem_size = 1, \
}
#define RT_SEM_INIT_BINARY(name, count) \
{ \
.recv_list = LIST_HEAD_INIT(name.recv_list), \
.send_list = LIST_HEAD_INIT(name.send_list), .buf = NULL, .len = count, \
.read_offset = 0, .write_offset = 0, .capacity = 1, .elem_size = 0, \
.read_offset = 0, .write_offset = 0, .capacity = 1, .elem_size = 1, \
}

View File

@ -156,6 +156,10 @@ void rt_stop(void)
{
// TODO: suspend all other tasks and switch to idle
rt_port_stop();
rt_critical_begin();
list_head_init(&ready_list);
list_add_tail(&ready_list, &idle_task.list);
rt_sem_post(&exit_sem);
rt_sched();
rt_critical_end();
}