On Fri, Nov 22, 2019 at 1:57 PM <xxxxxx@ancell-ent.com> wrote:
 
there was such a high premium in the early days of UNIX in reducing characters to be typed and printed at 110 baud.  Which is what gave us the most infamous to this day examples in the creat call that lead to the O_CREAT flag used by open-file with a friendlier name.

It was more a matter of memory shortage in this case. C had to be compilable on non-Unix systems with truly ancient linkers that required externally visible names to be unique in the first 6 characters in order to keep their symbol tables small.  What's more, the early C compilers added a leading underscore to all C-generated names to avoid collisions with non-C names (similarly, the Unix/GNU Fortran compilers used to add a trailing underscore to avoid conflicts with C).  That left only 5 characters, hence "creat".

O_NONBLOCK

This will take some thought.  It can't just be passed through blindly, because in a green-threads Scheme it would block the whole process. 

Include a warning?  Perhaps or also in Issues??

The fact that it doesn't work on sockets (reliably) makes me think it's hardly worth having.  With the exception of terminals, device I/O is rare nowadays, an fifos were never anything *but* rare (local domain sockets more than cover their use cases).

I can't see any way it's harmful besides a minuscule increase in the API surface; I'll add it soon if no one objects.

No objection from me.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
We want more school houses and less jails; more books and less arsenals;
more learning and less vice; more constant work and less crime; more
leisure and less greed; more justice and less revenge; in fact, more of
the opportunities to cultivate our better natures.  --Samuel Gompers