All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] xenomai thread crash
@ 2011-11-04  2:42 yibo dai
  2011-11-04 14:11 ` Gilles Chanteperdrix
  0 siblings, 1 reply; 3+ messages in thread
From: yibo dai @ 2011-11-04  2:42 UTC (permalink / raw)
  To: Xenomai-help

In my current project, there is a xenomai thread in the user space,It
doing the following things:
1.recieve the TIPC message from other services then handle it
2.recieve the packet from RTNet then handle it
Program is probably as follows:
while(1) {
	select(...); /*block and waiting for TIPC messages */
	/*do something*/
	
	do {
		ret = rt_dev_recvmsg(...,MSG_DONTWAIT); /*recieve packets from RTNet*/
		/* do something */
	} while(ret > 0);
}

the RTNet stack will trigger a virtual interrupt(use the
rtdm_nrtsig_pend) when recieved a packet,then the virtual interrupt
handler will send a SIGUSR2 to the xenomai thread,...,at last the
xenomai thread wake up.the problem is the xenomai thread will crash
when calling rt_dev_recvmsg sometimes.i found that
ops->operation##_nrt(i.e. ops->recvmsg_nrt) will be call(in the
MAJOR_FUNCTION_WRAPPER_TH),but ops->recvmsg_nrt is NULL,so the xenomai
thread crash.
is my usage wrong?why the current domain become linux when executing
xenomai syscall?by the way,what is the reason to remove
CONFIG_XENO_OPT_ISHIELD?
Thanks very much!!


^ permalink raw reply	[flat|nested] 3+ messages in thread
* [Xenomai-help] xenomai thread crash
@ 2011-11-04  3:01 yibo dai
  0 siblings, 0 replies; 3+ messages in thread
From: yibo dai @ 2011-11-04  3:01 UTC (permalink / raw)
  To: Xenomai-help; +Cc: Xenomai-core

In my current project, there is a xenomai thread in the user space,It
doing the following things:
1.recieve the TIPC message from other services then handle it
2.recieve the packet from RTNet then handle it
Program is probably as follows:
while(1) {
	select(...); /*block and waiting for TIPC messages */
	/*do something*/
	
	do {
		ret = rt_dev_recvmsg(...,MSG_DONTWAIT); /*recieve packets from RTNet*/
		/* do something */
	} while(ret > 0);
}

the RTNet stack will trigger a virtual interrupt(use the
rtdm_nrtsig_pend) when recieved a packet,then the virtual interrupt
handler will send a SIGUSR2 to the xenomai thread,...,at last the
xenomai thread wake up.the problem is the xenomai thread will crash
when calling rt_dev_recvmsg sometimes.i found that
ops->operation##_nrt(i.e. ops->recvmsg_nrt) will be call(in the
MAJOR_FUNCTION_WRAPPER_TH),but ops->recvmsg_nrt is NULL,so the xenomai
thread crash.
is my usage wrong?why the current domain become linux when executing
xenomai syscall?by the way,what is the reason to remove
CONFIG_XENO_OPT_ISHIELD?

system info:
Xenomai version:2.5.3/2.5.6
RTNet version:0.9.12
Linux version:2.6.28
Adeos patch:adeos-ipipe-2.6.28.10-arm-1.12-07.patch
processor:at91sam9260

Thanks very much!!


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-04 14:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-04  2:42 [Xenomai-help] xenomai thread crash yibo dai
2011-11-04 14:11 ` Gilles Chanteperdrix
  -- strict thread matches above, loose matches on Subject: below --
2011-11-04  3:01 yibo dai

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.