Allow listened conversations to be non-blocking
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 22 Jul 2015 12:02:45 +0000 (08:02 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 24 Jul 2015 07:39:30 +0000 (03:39 -0400)
commit690645bc4454e4e7cc8023f989041bc39c1a72f1
treecfa550a6ee87f046484022ea4e4d48e81fd42559
parentfbd3df7adf1737a5fe30d04988a3d443fe338b0b
Allow listened conversations to be non-blocking

If you listen with O_NONBLOCK, the new conversation you get back is
already set to non-blocking.  In the same way that you open "clone" and
get a ctl fd for the new conversation, so too you open "listen" and get
back a ctl.  The flags to open affect the new conversation.

In the case of listen, opening listen with O_NONBLOCK does not make
listen non-blocking; it makes the *new* conv non-blocking.  To make the
listen non-blocking, you either use a ctl message or open the *clone*
for that conversation with O_NONBLOCK.
kern/src/net/devip.c