Philippe,

the workaround for the native skin is OK for me.
Thanks for your help :-)

Regards

Jochen


> On Thu, 2007-03-15 at 19:34 +0100, Jochen Behnke wrote:
> > Hello Philippe,
> > 
> > thanks for your response.
> > 
> > > On Thu, 2007-03-15 at 17:17 +0100, Jochen Behnke wrote:
> > > > Hello,
> > > > 
> > > > after hours of searching, I have finally found the problem. 
> > > > It was a bug in my "SimpleRPC" library. The thread function, 
> > > > responsible for the "lockup", mainly constists of an endless loop ( 
> > > > while(pObj->nRun) ) that polls a request queue. This was not a problem 
> > > > as long as this thread was a standard pthread. Turning this thread into 
> > > > a real-time task by adding a call to rt_task_shadow at the beginning of 
> > > > the thread function (before the while loop) resulted in a frozen linux 
> > > > system.
> > > > 
> > > > I used to work with the following system
> > > > Gentoo Linux
> > > > Linux Kernel 2.6.17 (IPIPE 1.4)
> > > > Xenomai 2.2.3
> > > > 
> > > > Now that I know, that upgrading to Xenomai 2.3.0 is not a problem, I 
> > > > plan to upgrade to the 2.3.x branch.
> > > > 
> > > 
> > > You may detect such kind of issues switching on the
> > > CONFIG_XENO_OPT_WATCHDOG option in the kernel configuration. Normally,
> > > this would pull the brake after more than 4 seconds of uninterrupted
> > > real-time activity in primary mode (i.e. without yielding control to the
> > > regular Linux activities).
> > 
> > That's great. I will check this out.
> > 
> > BTW, is there an easy way, other than reboot,  to release xenomai 
> > ressources (mutexes,...) that have not been freed after an application 
> > crash ? 
> > 
> 
> This depends on the skin being used. The native one does not free the
> resources upon application exit yet (this feature is on the todo list
> for the upcoming 2.4 though), OTOH the POSIX skin does. A work-around
> with the native skin is to use constructs like the following one in your
> app to recycle the left overs; not pretty, but works, until we provide
> an automated support:
> 
> if (rt_mutex_bind("some_mutex", &mutex_desc, ...) == 0) {
>       rt_mutex_delete(&mutex_desc);
> }
> err = rt_mutex_create("some_mutex", &mutex_desc);
> 
> -- 
> Philippe.
> 
> 
> 


_______________________________________________________________________
Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos.
Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222


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

Reply via email to