Petr Cervenka wrote:
> Hello,
> I need to wait in my ioctl handler for an interrrupt. Is it possible to use 
> some rtdm_event_timedwait alternative in non-realtime?
> I'm thinking about using wait_event_interruptible_timeout. Is it a good idea 
> or is there a better solution (e.g. rtdm_event compatible))?

So your interrupt is RT while one of your waiters is non-RT? Then you
have to forward the RT event (i.e. the IRQ occurrence) via an
rtdm_nrtsig_t from the IRQ handler to an nrtsig-event handler in non-RT
context. This handler can then wakeup non-RT waiters.

This may sound a bit complicated, but you have to remind that there is
no safe way to schedule a non-RT (Linux) thread directly from the RT
(Xenomai) domain, because all Linux scheduling services are fully
preemptible by Xenomai at any time (including the RT IRQ handler).

Hmm, as you were asking for a non-RT-safe rtdm_event now: the pattern I
described above might be generalisable to an extended rtdm_event
supporting both RT and non-RT waiters (non-RT wakers already work). Need
to think about this...

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to