On Mon, Dec 07, 2020 at 09:00:12AM -0800, Andy Lutomirski wrote: > >> I'm also a bit nervous that there might be some program out there that > >> expects SIGIO but not SIGURG on unix sockets, and you're breaking > >> them. > > > > The only incompatible scenario I've been able to think of is an > > application which has both TCP and Unix sockets will suddenly get its > > SIGURG handler called for Unix sockets when it's only expecting to get > > it called for TCP sockets. That feels like a very unlikely scenario. > > So maybe this is okay. It does seem like a hack, but maybe it’s a hack that’s not too bad to support in the kernel. I see it as extending a (somewhat bogus) TCP socket API to Unix sockets. The mechanism is badly named. If it were called MSG_URG instead of MSG_OOB, I think it'd be a lot less objectionable. Apparently the sockets people were enamoured with the idea of having multiple streams of data inside a single socket, which is madness. I'd really like a way to generate SIGURG on pipes too, but that's harder to wire up.