3 ms·
> Signals are of two forms: the one is asynchronous, the other synchronous. The one should be replaced with a generic message queue in a technical debt free des
by vacuity 2y ago
> Signals are of two forms: the one is asynchronous, the other synchronous. The one should be replaced with a generic message queue in a technical debt free design. The other is debatable.
Unfortunately, sychronous signals of some form are here to stay. That is, having that interrupt-like context switch blocking the same thread. But the ergonomics could definitely be improved. Seems like exception ports are quite useful, but to my understanding they lack some flexibility and performance, so in the end I'd like to emphasize the interrupt style as the bare minimum. Self-paging in Nemesis and Barrelfish reflects this "delegate an individual's responsibility to the individual" principle. Definitely still use a message queue abstraction if applicable, I love that stuff. And since I want the whole state-machine-async-event-loop hog anyways, a top-level event loop fits in nicely as the handler for synchronous signals.
> In fact, these pidfds are not even like traditional Unix open file descriptions, whose rights are based on the credential of who opened them. This makes privilege-separation architectures impossible with pidfds, but I digress.
I knew about capabilities and file descriptors but not this about pidfd...that is an ouch indeed.