From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Petr Cervenka <grugh@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] rtdm_event_timedwait returns -EINTR
Date: Mon, 04 May 2009 18:21:01 +0200 [thread overview]
Message-ID: <49FF15ED.1010008@domain.hid> (raw)
In-Reply-To: <200905041811.11867@domain.hid>
Petr Cervenka wrote:
>> Read: it must interrupt Xenomai syscalls internally but the latter
>> should always be silently restarted, by properly setting the
>> SA_RESTART bit in the sigaction flags for that signal.
>>
>> Not allowing Linux to interrupt blocking Xenomai syscalls to
>> process pending signals would basically kill GDB support, and
>> beyond this create a very fragile situation wrt signal handling and
>> Xenomai, which is the last thing we would want to do.
>>
>> Philippe.
>>
>
> I have found following problems / errors:
> -------------------------------------------------------------- 1)
> rtdm_event_timedwait() in ioctl handler is not automatically
> internally restarted (driver: rtdm, app. tasks: native)
That is because rtdm_event_timedwait is not a syscall. It is a
kernel-space call. Your job is to get ioctl to return -EINTR when
rtdm_event_timedwait returns -EINTR, so that ioctl will be restarted in
user-space.
This is undocumented, because you should already know about that if you
have done a little driver work under linux.
>
> 2) computer hangs, when I call in ioctl handler something like: do {
> res = rtdm_event_timedwait(&event, timeout, NULL); } while (res ==
> -EINTR); this could have perhaps some relevance:
> https://mail.gna.org/public/xenomai-help/2008-11/msg00025.html
That is because you should return to user-space to get the signal handled.
>
> 3) rt_event_wait() in application is restarted always with the same
> relative timeout. it could run forever.
Yes, we know that, and we know a fix. But another fix is to use the new
*_until calls.
>
> problems with version 2.5-rc1:
> ----------------------------------------------- 1) function
> rt_task_shadow always returns -EFAULT
Could you provide us with a small example which has this problem ?
>
> 2) when resizing window with latency test running, it prints out "Not
> SIGSHADOW !". But it should be SIGSHADOW (in my opinion).
"Not SIGSHADOW!" is printed when the SIGWINCH signal handler identifies
a SIGWINCH not originating from Xenomai. And when you resize the window,
a SIGWINCH is sent to the application which originates from the Linux
kernel, not from Xenomai. So, the "Not SIGSHADOW!" is correct. However,
it is essentially a debug message
>
> Petr
>
>
> _______________________________________________ Xenomai-help mailing
> list Xenomai-help@domain.hid https://mail.gna.org/listinfo/xenomai-help
--
Gilles.
next prev parent reply other threads:[~2009-05-04 16:21 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200905041613.30996@domain.hid>
[not found] ` <200905041614.26154@domain.hid>
[not found] ` <200905041615.12763@domain.hid>
[not found] ` <200905041616.11698@domain.hid>
[not found] ` <200905041617.10314@domain.hid>
[not found] ` <200905041618.6444@domain.hid>
[not found] ` <200905041619.25024@domain.hid>
[not found] ` <200905041620.27181@domain.hid>
2009-05-04 14:20 ` [Xenomai-help] rtdm_event_timedwait returns -EINTR Petr Cervenka
2009-05-04 14:22 ` Philippe Gerum
2009-05-04 14:29 ` Philippe Gerum
2009-05-04 16:11 ` Petr Cervenka
2009-05-04 16:21 ` Gilles Chanteperdrix [this message]
2009-05-05 8:22 ` Petr Cervenka
2009-05-04 17:15 ` Philippe Gerum
[not found] <200904301508.29432@domain.hid>
[not found] ` <200904301509.13094@domain.hid>
[not found] ` <200904301510.8382@domain.hid>
[not found] ` <200904301511.15875@domain.hid>
[not found] ` <200904301512.9035@domain.hid>
[not found] ` <200904301513.12716@domain.hid>
[not found] ` <200904301514.6099@domain.hid>
[not found] ` <200904301515.16182@domain.hid>
2009-04-30 13:16 ` Petr Cervenka
2009-04-30 14:09 ` Thomas Lockhart
2009-04-30 14:55 ` Philippe Gerum
2009-04-30 15:27 ` Gilles Chanteperdrix
2009-04-30 18:37 ` Philippe Gerum
2009-05-02 16:27 ` Gilles Chanteperdrix
2009-05-02 18:31 ` Philippe Gerum
2009-05-04 8:24 ` Petr Cervenka
2009-05-04 8:41 ` Philippe Gerum
2009-04-30 22:40 ` Thomas Lockhart
2009-05-01 9:34 ` Philippe Gerum
2009-05-01 9:40 ` Philippe Gerum
2009-05-01 21:35 ` Thomas Lockhart
2009-05-01 22:07 ` Philippe Gerum
2009-05-01 23:44 ` Thomas Lockhart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49FF15ED.1010008@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=grugh@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.