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.


Attachment: signature.asc
Description: OpenPGP digital signature

Xenomai-core mailing list

Reply via email to