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

From: Ed Maste <emaste_at_freebsd.org>
Date: Fri, 31 Mar 2023 17:27:54 UTC
On Fri, 31 Mar 2023 at 12:38, Charlie Li <vishwin@freebsd.org> 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 <kib@FreeBSD.org>
> > AuthorDate: 2023-03-25 23:39:02 +0000
> > Commit:     Konstantin Belousov <kib@FreeBSD.org>
> > 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)?