Re: git: 61194e9852e6 - main - Add kqueue1() syscall

Konstantin Belousov <[email protected]>
Newsgroups gmane.os.freebsd.current.scm,gmane.os.freebsd.devel.x11,gmane.os.freebsd.current
Message-ID <[email protected]>
On Fri, Mar 31, 2023 at 01:27:54PM -0400, Ed Maste wrote:
> On Fri, 31 Mar 2023 at 12:38, Charlie Li <[email protected]> wrote:
> >
> > Konstantin Belousov wrote:
> > > The branch main has been updated by kib:
> > >
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=61194e9852e641d1533cd04a5679d6042ff975d3
> > >
> > > commit 61194e9852e641d1533cd04a5679d6042ff975d3
> > > Author:     Konstantin Belousov <[email protected]>
> > > AuthorDate: 2023-03-25 23:39:02 +0000
> > > Commit:     Konstantin Belousov <[email protected]>
> > > CommitDate: 2023-03-27 23:39:26 +0000
> > >
> > >      Add kqueue1() syscall
> > >
> > >      It takes the flags argument.  Immediate use is to provide the KQUEUE_CLOEXEC
> > >      flag for kqueue(2).
> > >
> > This commit series causes x11/libinput to hit an assert (which also
> > silently crashes X on launch):
> > > Assertion failed: (libinput->refcount > 0), function libinput_unref, file ../src/libinput.c, line 1957.
> >
> > devel/libepoll-shim, x11/libinput's prime dependency, has its own
> > kqueue1() implementation, which is used when the system does not already
> > have one. Reverting this series and rebuilding devel/libepoll-shim to
> > use its included implementation allows x11/libinput to work again.
> 
> Ah, NetBSD added kqueue1 some time ago, and it uses the already
> existing flags (O_CLOEXEC etc.)
> If it's easy to test, can you try changing libepoll-shim to call
> kqueue1(KQUEUE_CLOEXEC)?
Overloading open(2) flags this way is not wise IMO.  Not to mention that
a lot of them do not make sense in kqueue(2) context, and that we might want
to add other flags which would put even more pressure on the limited O_*
bit set.

Please see https://reviews.freebsd.org/D39377
for my attempt to somewhat mitigate the mess.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.