Re: RTAI 3.9 lock on rt_sem_wait
Peter Soetens <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAMYDobVjwRts2-On0KfiYB+X=ZUSsAtcEMLmN+zZTZ+Erg+88g@mail.gmail.com> |
On Thu, Apr 18, 2013 at 4:01 PM, <[email protected]> wrote: > Hi Peter, > thanks for your reply. The only option I can see in the cmake file of RTT > regarding boost is ORO_OS_USE_BOOST_THREAD that is set now to off in my > case. I installed the last version of BOOST (1.53) and when I run the test > the system hangs on: > core-test and, precisely, at > /home/laboratorio/rock/tools/rtt/rtt/os/lxrt/fosi.c line 114 > (rt_sem_wait(m->sem)). > Any ideas? > Well, it's waiting on a semaphore, which isn't that strange. The question is: why isn't it raised ? Could you set these cmake options: cd build; cmake . -DOROBLD_OS_AGNOSTIC=OFF -DOROSEM_OS_LXRT_CHECK=ON ? Alternatively, apply the patch in attachment... it's a long shot. Peter -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
0001-rtai-change-SEM-typedefs-again-in-agnostic-mode.patch
(application/octet-stream, 1.2 KB)
From 747e15472a6636b8d218560db94549cfbe5404c6 Mon Sep 17 00:00:00 2001 From: Peter Soetens <[email protected]> Date: Wed, 24 Apr 2013 22:41:04 +0200 Subject: [PATCH] rtai: change SEM typedefs again in agnostic mode. Signed-off-by: Peter Soetens <[email protected]> --- rtt/os/lxrt/fosi.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/rtt/os/lxrt/fosi.h b/rtt/os/lxrt/fosi.h index a624b2a..e6412f0 100644 --- a/rtt/os/lxrt/fosi.h +++ b/rtt/os/lxrt/fosi.h @@ -85,17 +85,8 @@ extern "C" { typedef __LXRT_HANDLE_STRUCT RTOS_RTAI_CND; #endif // OROBLD_OS_AGNOSTIC // for RTAI header files. - // this is required because the rtos_sem_init function takes a pointer to RTOS_SEM, - // which contains a pointer to the real RTAI sem. - typedef struct oro_rtai_sem_t { - RTOS_RTAI_SEM* sem; - } rt_sem_t; - - // this is required because the rtos_cond_init function takes a pointer to RTOS_COND, - // which contains a pointer to the real RTAI cond - typedef struct oro_rtai_cond_t { - RTOS_RTAI_CND* cond; - } rt_cond_t; + typedef RTOS_RTAI_SEM rt_sem_t; + typedef RTOS_RTAI_CND rt_cond_t; #define __LXRT_USERSPACE__ -- 1.7.9.5