コード例 #1
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_mutex_unlock( rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_signal(m->sem);
 }
コード例 #2
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_mutex_lock( rt_mutex_t* m)
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_wait(m->sem);
 }
コード例 #3
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 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;
 }
コード例 #4
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_mutex_rec_destroy(rt_mutex_t* m )
 {
     CHK_LXRT_CALL();
     CHK_LXRT_PTR(m->sem);
     return rt_sem_delete(m->sem);
 }
コード例 #5
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 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;
 }
コード例 #6
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_sem_value(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_count(m->sem);
 }
コード例 #7
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 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;
 }
コード例 #8
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_sem_signal(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_signal(m->sem);
 }
コード例 #9
0
ファイル: fosi.c プロジェクト: jsreng/orocos-rtt
 int rtos_sem_trywait(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_wait_if(m->sem);
 }
コード例 #10
0
ファイル: fosi.c プロジェクト: FynnGamadeyo/rtt
 int rtos_sem_destroy(rt_sem_t* m )
 {
     CHK_LXRT_CALL();
     return rt_sem_delete(m->sem);
 }
コード例 #11
0
ファイル: fosi.c プロジェクト: FynnGamadeyo/rtt
int rtos_nanosleep(const TIME_SPEC *rqtp, TIME_SPEC *rmtp) 
{
    CHK_LXRT_CALL();
    nanosleep(rqtp,rmtp); // rtai 24.1.9
    return 0;
}
コード例 #12
0
ファイル: fosi.c プロジェクト: FynnGamadeyo/rtt
 int rtos_cond_broadcast(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     return rt_cond_broadcast(cond->cond);
 }
コード例 #13
0
ファイル: fosi.c プロジェクト: FynnGamadeyo/rtt
 int rtos_cond_destroy(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     return rt_cond_delete(cond->cond);
 }
コード例 #14
0
ファイル: fosi.c プロジェクト: FynnGamadeyo/rtt
 int rtos_cond_init(rt_cond_t *cond)
 {
     CHK_LXRT_CALL();
     cond->cond = rt_cond_init(0);
     return cond->cond == 0 ? -1 : 0;
 }