Ejemplo n.º 1
0
 int rtos_mutex_unlock( rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_signal(m->sem);
 }
Ejemplo n.º 2
0
 int rtos_mutex_lock( rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_wait(m->sem);
 }
Ejemplo n.º 3
0
 int rtos_mutex_trylock( rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_wait_if(m->sem) > 0 ? 0 : -EAGAIN;
 }
Ejemplo n.º 4
0
 int rtos_mutex_rec_destroy(rt_mutex_t* m )
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_delete(m->sem);
 }
Ejemplo n.º 5
0
 int rtos_mutex_rec_lock_until( rt_rec_mutex_t* m, NANO_TIME abs_time)
 {
     CHK_LXRT_CALL();
     return rt_sem_wait_until(m->sem, nano2count(abs_time)) < SEM_TIMOUT ? 0 : -EAGAIN;
 }
Ejemplo n.º 6
0
 int rtos_sem_value(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_count(m->sem);
 }
Ejemplo n.º 7
0
 int rtos_mutex_init(rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     m->sem = rt_typed_sem_init( rt_get_name(0),1, BIN_SEM | PRIO_Q);
     return m->sem == 0 ? -1 : 0;
 }
Ejemplo n.º 8
0
 int rtos_sem_signal(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_signal(m->sem);
 }
Ejemplo n.º 9
0
 int rtos_sem_trywait(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_wait_if(m->sem);
 }
Ejemplo n.º 10
0
 int rtos_sem_destroy(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_delete(m->sem);
 }
Ejemplo n.º 11
0
int rtos_nanosleep(const TIME_SPEC *rqtp, TIME_SPEC *rmtp) 
{
    CHK_LXRT_CALL();
    nanosleep(rqtp,rmtp); // rtai 24.1.9
    return 0;
}
Ejemplo n.º 12
0
 int rtos_cond_broadcast(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     return rt_cond_broadcast(cond->cond);
 }
Ejemplo n.º 13
0
 int rtos_cond_destroy(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     return rt_cond_delete(cond->cond);
 }
Ejemplo n.º 14
0
 int rtos_cond_init(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     cond->cond = rt_cond_init(0);
     return cond->cond == 0 ? -1 : 0;
 }