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

2023-03-31 Thread Konstantin Belousov
On Fri, Mar 31, 2023 at 01:27:54PM -0400, Ed Maste wrote:
> On Fri, 31 Mar 2023 at 12:38, Charlie Li  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 
> > > AuthorDate: 2023-03-25 23:39:02 +
> > > Commit: Konstantin Belousov 
> > > CommitDate: 2023-03-27 23:39:26 +
> > >
> > >  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.



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

2023-03-31 Thread Ed Maste
On Fri, 31 Mar 2023 at 12:38, Charlie Li  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 
> > AuthorDate: 2023-03-25 23:39:02 +
> > Commit: Konstantin Belousov 
> > CommitDate: 2023-03-27 23:39:26 +
> >
> >  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)?



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

2023-03-31 Thread Charlie Li

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 
AuthorDate: 2023-03-25 23:39:02 +
Commit: Konstantin Belousov 
CommitDate: 2023-03-27 23:39:26 +

 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.


--
Charlie Li
…nope, still don't have an exit line.



OpenPGP_signature
Description: OpenPGP digital signature