9bbdc2cafa
Sync the base fork with 13 upstream commits (xhci event-processing dedup + IRQ race fix, randd permission simplification, nvmed TimeSpec fix, /dev/ptmx, fpath legacy-path cleanup, dynamically-linked init fix, and more). Brings process_one_event into the tree, satisfying the verify-fork-functions gate for base. Conflicts resolved (3 of 8 overlapping files; 5 auto-merged): - drivers/usb/xhcid/src/xhci/irq_reactor.rs: took upstream's process_one_event/EventProcessResult refactor (b2ed85ea) including thea01d3ce6race fix (process events between NoEvent and unmasking), and re-applied the Red Bear SPURIOUS_REBOOT quirk on the NoEvent warning (downgrade to debug when quirked). - randd/src/main.rs: took upstream's permission-handling simplification (e26db606); re-applied the RB fcntl improvement (F_GETFL/F_GETFD/F_SETFL/F_SETFD handling, Linux random_fops xref) and the is_cpu_feature_detected early-return cleanup. Dropped test_scheme_perms (deleted by upstream's simplification). - Makefile: kept upstream's new /dev symlink block (dev/null, ptmx, random, urandom, zero, tty, stdin/stdout/stderr). Verified: cargo check clean; 57/57 tests pass (xhcid 35, usbhubd 14, xhci trb 8); verify-fork-functions.sh --no-fetch base reports all upstream functions present.
ipcd
A userspace daemon for interprocess communication.
Usage
See the examples folder.
Simply open chan:<name> with O_CREAT where <name> is any name you'd like to create a listener.
This listener can accept clients by calling dup("listen").
Open chan:<name> without O_CREAT to connect. Now you can read and write between both streams.