Date: Thu, 29 Sep 2016 18:11:16 -0500 From: Lewis Donzis <lew@perftech.com> To: freebsd-arch@freebsd.org Subject: mq on kqueue broken after upgrade to FreeBSD 11 Message-ID: <8A6CD0D3-C4D5-40DF-B2AD-4C454CC88AD1@perftech.com>
next in thread | raw e-mail | index | archive | help
I had posted this on the userland forum, but it was suggested that I = re-post it to this mailing list, so here goes=E2=80=A6 We have applications that are using kevent() with, among other things, = POSIX message queues, so they can wake up when data is ready. As such, we were using __mq_oshandle() to get a handle from an mqd_t, = suitable for passing to kevent(). However, this function appears to have been removed from publication in = FreeBSD 11.0, although it still exists in the source. I saw some = discussion about it being a mistake to have been available previously, = but plenty of other __mq_*() functions are still public. So the question is, how is one supposed to get a kevent() on a POSIX = message queue, now that the fd is no longer available? (I realize that one could argue that it was never supported, but it does = (did) work, and why else would the kernel uipc_mqueue.c have code for = supporting it? And that's not to mention that __mq_oshandle() is still = declared in /usr/include/mqueue.h) Thanks, lew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8A6CD0D3-C4D5-40DF-B2AD-4C454CC88AD1>