Jan Kiszka wrote: > Gilles Chanteperdrix wrote: > > Hi, > > > > I had a problem with an RTDM driver: /proc/xenomai/rtdm/open_fildes > > could not close its descriptors. So, I tried with trunk which has > > auto-cleanup of RTDM descriptors, to see if descriptors would be closed, > > the descriptors were not auto-closed when killing my application > > either. After a little investigation, it appears that the problem is > > that my drivers had a real-time close handler but no non-realtime > > handler, so when close was invoked from a non real-time context (either > > /proc/xenomai/rtdm/open_fildes, or the auto-cleanup routine), the > > default close handler installed by RTDM simply returned -38 and close > > aborted. > > > > The way to fix this issue was rather simple: implement a non real-time > > close handler, but I find this behaviour a bit disturbing, maybe > > implementing a non real-time close handler could be mandatory ? > > > > It is, read the fine manual :). Moreover, if you had validated your > driver via CONFIG_XENO_OPT_DEBUG_RTDM, you would have got an error on > registration. But given the now even more required close_nrt handler, I > think decoupling this particular check from the debug switch is > appropriate. Will fix.
I have to say that I did not really test trunk, I backported the auto-cleanup stuff to the version of the v2.3.x branch that I am using. So, if the debug check was added after this commit, I missed it completely. -- Gilles Chanteperdrix. _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core