[Xenomai] non-blocking rt_task_suspend(NULL)

Petr Cervenka grugh at centrum.cz
Thu Apr 24 17:06:23 CEST 2014


> Od: Gilles Chanteperdrix <gilles.chanteperdrix at xenomai.org>
>
>> SIGDEBUG signal was not received. Task status from rt_task_inquire()
>> was 0x300180 or 0x300380 (depends where it is placed) When the task
>> is in the "wrong" state, also the call of rt_task_sleep(100000) is
>> returning permanently -EINTR code. Do you have any other idea what to
>> check or what can cause perhaps every xenomai call fail with -EINTR
>> in one task?
>
>If I had to debug this issue, I would enable the I-pipe tracer and 
>trigger a trace freeze when the -EINTR code is received. With enough 
>trace points, it should be possible to understand what happens.
>
I called a xntrace_user_freeze() immediately when the issue occurs, but I simply don't understand what is happening there. The trace output is in the attachment. Could you please help me to understand it?

I also got some minor problem with xntrace_user_freeze, because the linker was not able to find it:
asyncwriter.cpp:(.text+0x843): undefined reference to `xntrace_user_freeze(unsigned long, int)'
It is defined in src/skins/common/trace.c and (should be) contained in libxenomai.so. But I was not successful and I had to define it myself (under different name). Version of xenomai is 2.6.3.

Petr

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: freeze1.txt
URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20140424/09c18c23/attachment.txt>


More information about the Xenomai mailing list