net: rock: Keep the ctl FD open (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 15 Dec 2017 20:08:10 +0000 (15:08 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 15 Dec 2017 20:08:10 +0000 (15:08 -0500)
commit5bc52b2c9347120da7a72c42ae1f49bc441e72a9
tree1ee7cd291cb60d8fafea851625113a83387ab655
parentbe1925fb29c9b6d7356ee8c73fde7b88388f298f
net: rock: Keep the ctl FD open (XCC)

Instead of reopening the ctl FD every time we want to use it, we can just
keep it open.

Notionally, all of the Rock's FDs (data, ctl, and listen) are part of the
same object.  The only downside is we have more open FDs, chans, and convs.

The motivator for this is fcntl operations on sockets - the application's
intent is to affect all of the FDs of the Rock, not just the data FD.

Note that you'll see more files in 'pip', and that the name of Qctl files
is usually 'listen' or clone.  For example, conversation 2's ctl file was
created by opening 1/listen:

FD: 08,  pathname: /net/tcp/1/listen
Dev: ip, Devinfo: Qctl, proto tcp, conv idx 2

The lesson is that the pathname is what was opened, not what the file is.
You need to look at the rest of the info for that.

Rebuild glibc.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/accept4.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/bind.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/connect.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/listen.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/plan9_sockets.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/shutdown.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/plan9_helpers.h