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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
