Jan Kiszka wrote: > Jan Kiszka wrote: >> Gilles Chanteperdrix wrote: >>> GIT version control wrote: >>>> diff --git a/ksrc/skins/posix/mq.c b/ksrc/skins/posix/mq.c >>>> index 11f47c0..a896031 100644 >>>> --- a/ksrc/skins/posix/mq.c >>>> +++ b/ksrc/skins/posix/mq.c >>>> @@ -1283,6 +1283,7 @@ int pse51_mq_select_bind(mqd_t fd, struct xnselector *selector, >>>> return 0; >>>> >>>> unlock_and_error: >>>> + xnfree(binding): >>>> xnlock_put_irqrestore(&nklock, s); >>>> return err; >>>> } >>> Ok. Will pull. But I really need to fix that. >>> >> Ack - now that I see it myself. >> > > I fixed this in my branch and added another patch to transform EIDRM > into EBADF when selecting a (half-)deleted RTDM device. Please merge. > Wait! When the sync object behind some file descriptor is deleted but the descriptor itself is still existing, we rather have to return that fd signaled from select() instead of letting the call fail. I beed to look into this again. Jan