the git commit: pipe: use exclusive waits when reading or writing[1]<p>[1] <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ddad21d3e99c743a3aa473121dc5561679e26bb" rel="nofollow">https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...</a>
Does this affect select() or only read()? Today if N procs select() on a single pipe, all will be woken up if the pipe becomes readable. Will this now mean that only one will be awoken?
GNU Make has been fixed, but I wonder if there are other programs which would also have similar bugs in their code? I am reminded of when systemd exposed bugs in system startup scripts, and everybody instead started hating systemd for breaking their systems.
Good example of how we develop software these days: instead of fixing GNU make by ripping out that antiquated pipe-based jobserver and replacing it with proper multi-threaded parallelism[1], we rather optimize the operating system to make the antiquated stuff work better.<p>[1] Having hacked on GNU make I know this won't be easy (it's quite a mess). In fact, it would probably be easier to replace it entirely and fix some of its other deficiencies in the process.