[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] Ping Eduardo A. Suárez (was Re: What is the origin of the root account?)

On 18 Apr 2013 at 10:17, Jack Haverty wrote:

> Although you could implement "full-duplex" behavior, networking seems
> to require a bit more -- perhaps called "coordinated full-duplex"
> behavior.  By that I mean that the flow in one direction had to be
> able to be influenced by the contents of the flow in the other
> direction.   No matter what level you were at, your program can't
> always determine what will happen next, and thus faces the dilemma of
> what event to wait for.
> The V6 Unix OS primitives didn't provide any way to do such a "wait
> for one of many" action, or even to implement a very inefficient
> polling scheme.  The only way to tell if there was more data to read
> was to read it, and if there wasn't, your process was blocked until
> there was.  There was no "non-blocking I/O".

This isn't internet history, but I've implemented stuff that did that on 
"traditional" Unix'.  It wasn't hard, just clumsy: you forked two 
children, one for each direction, piped back to the parent and each had a 
different signal:  so whichever child had something could signal the 
parent and the parent could do whatever appropriately.


Bernie Cosell                     Fantasy Farm Fibers
mailto:bernie at fantasyfarm.com     Pearisburg, VA
    -->  Too many people, too few sheep  <--