Am 08.07.2013 um 15:37 schrieb Philippe Gerum <[email protected]>: > On 07/08/2013 03:23 PM, Michael Haberler wrote: >> if a userland RT thread gets modeswitched, the SIGXCPU handler obviously >> still executes in the RT domain, > > > Nope. All regular signal handlers are executed in the linux domain. Xenomai > 2.x does not provide real-time signal handlers fired from primary mode. > > at least rt_task_self() returns a valid task descriptor - fine. >> >> If a kernel RT thread misses the release point, it seems the thread is >> immediately switched to linux scheduling > > With Xenomai 2.x, there is no migration to secondary mode for a kernel(-only) > RT thread. > > - or at least rt_task_self() returns NULL in this scenario: >> >> int result = rt_task_wait_period(&overruns); >> switch (result) { >> >> case -ETIMEDOUT: // release point was missed >> task = rt_task_self(); // this returns NULL >> >> >> not a big thing - I just would like to get at the thread name for error >> message purposes; any way to do this? >> > > Certainly, but which context does the code above run? On top of some ioctl()?
from the RT thread, which is started by a kernel module - Michael _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
