Jeffrey Walton (12023-11-03): > If you ask folks like Brian Kernighan and Rob Pike, they will tell you > all the unicorns are dead on Linux because everything is _not_ a file.
They might tell you that, but that is wrong nonetheless: they fumbled the “everything is a file” from the start. In original Unix, processes are not files. In original Unix, memory areas in the address space of a process are not files. In original Unix, time is not a file. In original Unix, signals are not files. In fact, Linux bioengineered some of these Unicorn into existence with memfd, timerfd, signalfd. Nowadays, the worst offence in this are the thread synchronization primitives. It is a tragedy that mutexes and conditions are not compatible with the file descriptors API at all. If they were, then pthreads could have made some concurrent I/O code simpler; as it is, pthreads are useful for performances, but when it comes to I/O, they them harder. Regards, -- Nicolas George
signature.asc
Description: PGP signature