Finally something not-Rust!
replies(1):
$ echo foo > /tmp/test
$ krep -c foo /tmp/test
Found 4 matches
$ mkfifo .gitignore
$ rg x
On the other side, systemd-tmpfiles used to recurse into '..' when unlinking, wiping your system. So i'm not surprised they didn't get the open() calls right.
I don't quite follow. In fact, at least on Linux, opening a FIFO with O_RDWR (which POSIX leaves undefined) will not block so it can work. IMO blocking for opening as writable can be justified, but I don't see why opening for readonly has to. I'm sure there is some justification for it like SIGFPE or distinguishing empty data from no data, but the result still seems fishy.
>systemd-tmpfiles used to recurse into '..' when unlinking
ok this one is just hilarious
If it didn't you'd have no way of telling if there's anyone at the write end of the pipe. Isn't it obvious?