eudev starts at boot; Xorg finds its input devices through it

udevd and a one-shot trigger run from schinit, 10-schos.conf no longer lists
event0/event1, and the docs say what udev covers and what it does not.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
This commit is contained in:
Nexoniarz 2026-10-26 11:44:21 +01:00
commit b3f72cd95e
13 changed files with 169 additions and 50 deletions

View file

@ -15,15 +15,18 @@
// is the property sleep/wakeup actually requires. Thirty-two sockets carrying
// GUI messages will not notice the contention.
//
// **Names are held in a table here, not in the filesystem.** A real Unix
// socket appears in a directory listing as a special file, and binding one
// creates that node. Doing that properly means a new inode type threaded
// through both filesystems, iget, dirlookup and stat -- a VFS change, not a
// socket change. The table gives every behaviour that matters: a client
// finds a server by a name it agreed in advance, which is the whole job.
// What is lost is `ls -l /tmp/schcom` showing an `s`, and `unlink()` of a
// socket path failing with ENOENT. Both are worth fixing when the VFS next
// gets opened up; neither blocks anything.
// **Names live in the filesystem.** bind() creates a socket node
// (kernel/sys/sys_net.c) and connect() resolves a path to the inode and looks
// for the socket bound to that inode, so every spelling of a path arrives at
// the same place and the node can be stat()ed and unlink()ed.
//
// **Datagram and sequenced-packet sockets** share the ring with streams: each
// message is a 16-byte header -- length and multicast groups, sender port or
// pid, sender uid and gid -- and then its bytes, so a read takes exactly one
// message and credentials belong to the message, not to the socket. udev's
// workers share one end of a socketpair and the manager has to know which of
// them wrote what. The kernel's uevents travel the same way, to netlink
// sockets of protocol NETLINK_KOBJECT_UEVENT.
#include "core/types.h"
#include "core/defs.h"