Re: git: 8935a3993219 - main - daemon: use kqueue for all events
Date: Fri, 05 May 2023 08:59:35 UTC
Hello, On Fri, 14 Apr 2023 05:13:54 GMT Kyle Evans <kevans@FreeBSD.org> wrote: > The branch main has been updated by kevans: > > URL: https://cgit.FreeBSD.org/src/commit/?id=8935a3993219be76c7ea03e9ad4509657d08af6c > > commit 8935a3993219be76c7ea03e9ad4509657d08af6c > Author: Ihor Antonov <ihor@antonovs.family> > AuthorDate: 2023-04-14 05:10:29 +0000 > Commit: Kyle Evans <kevans@FreeBSD.org> > CommitDate: 2023-04-14 05:12:21 +0000 > > daemon: use kqueue for all events > > Refactor daemon to use kqueue/kevent instead of signals. > > This changes allows to simplify the code in several ways: > - the execution flow is now linear, no async events. > - several variables became redundant and got removed. > - all event handling is now concentrated inside of the event loop, which > makes code reading and comprehension easier. > - new kqueuex(2) call is used for CLOEXEC, but maintained closing the > kq fd prior to execve() to ease later MFC > > No UX/API changes are intended. > > Reviewed by: kevans > Pull Request: https://github.com/freebsd/freebsd-src/pull/701 This break sysutils/seatd when we resume and leaves the console is a really sad state (impossible to use, keystroke don't match). Don't really know how to properly debug but : 1/ Reverting the commit make seatd not exiting on resume (and so sway doesn't exit). 2/ If I start seatd without daemon it works 3/ If I manually start saetd with daemon in tmux with "daemon -s debug -T seatd -p /var/run/seatd.pid /usr/local/bin/seatd -g video" (so same thing as the rc script) I see "daemon: kevent wait: Interrupted system call" printed when I get back network. Feel free to ask me any test you want to debug further ;) Cheers, -- Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>