Set CEXTERNAL_FLAGS early on create()
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 8 Jan 2017 20:39:42 +0000 (15:39 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 10 Jan 2017 00:01:40 +0000 (19:01 -0500)
commit4b86a7be101f05f593fa2712646611cf6ed9ddd2
tree37469a146b137089b2aa72e3241ca259a88c2b80
parent199da8419c1845a8cc5cdf4c2824e785d9dea9a1
Set CEXTERNAL_FLAGS early on create()

create() is like open() - it results in an opened chan, and it has a
bunch of flags.  We should be treating create() similarly to open(),
though there might be some issues I'm missing with this.

First, we should use CEXTERNAL_FLAGS, instead of doing the flags
manually, unless it is important to have a difference between open and
create.  Otherwise, we'll miss out on flags like O_NONBLOCK and O_PATH
(which we were ignoring for create()).

Second, we should set those flags before calling the device's function
so the device can do whatever it needs to do to support those flags.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/ns/chan.c