mq on kqueue broken after upgrade to FreeBSD 11

Lewis Donzis lew at perftech.com
Sun Oct 2 14:13:21 UTC 2016


> On Oct 2, 2016, at 8:22 AM, Jilles Tjoelker <jilles at stack.nl> wrote:
> 
> On Sun, Oct 02, 2016 at 02:46:13PM +0300, Konstantin Belousov wrote:
>> On Sun, Oct 02, 2016 at 01:15:24AM +0200, Jilles Tjoelker wrote:
>>> On Sun, Oct 02, 2016 at 12:07:22AM +0300, Konstantin Belousov wrote:
>>>> On Sat, Oct 01, 2016 at 10:16:55PM +0200, Jilles Tjoelker wrote:
>>>>> The idea is good, but perhaps call the function mq_getfd_np() to clarify
>>>>> it returns a file descriptor. Also, the __ versions should not be
>>>>> exported since they are not used outside the library (they can be
>>>>> exported if and when needed).
> 
>>> Please rename timer_oshandle_np() to timer_getfd_np() as well.
>> The timer handle is not an fd, so I kept the old name.  Using
>> _getfd there is IMO more confusing than the neutral _handle for
>> mq.
> 
> Oh right, the timers are not file descriptors.

Technically, neither are mqueues.  The only thing "the int" can be used for is select(), poll(), and kevent().  You can’t (or at least shouldn’t) pass it to any of the other system calls that accept fds.

lew


More information about the freebsd-arch mailing list