From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4c3b0a64d7aeadf153f71455539ad27a@quanstro.net> Date: Thu, 2 Feb 2006 19:00:10 -0600 From: quanstro@quanstro.net To: 9fans@cse.psu.edu Subject: Re: [9fans] Van Jacobsen's network stack restructure MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: f0d0ac36-ead0-11e9-9d60-3106f5b1d025 On Thu Feb 2 18:32:34 CST 2006, ggm@apnic.net wrote: > (f)open() ... read/write .. (f)close() on a name, then you > either dick with the name, or dick with the open FD, or invoke the gods. > > sockets() in some ways was about deliberately breaking the model to > make things like ioctl() more plausibly tenable. Who really cares if > you have to setsockopt() once you bought into having to do the whole > socket() thing in the first place? > > -G the argument that keeps coming up seems to be "you can write to a socket, so how bad can it be". the corollary seems to be "you can pass the fd around". i believe the corollary is false. how would you tell your favorite editor to open a file on the other end of a socket? it is a major problem that the network (with a socket interface) is outside the namespace. it results in stuff like /dev/tcp in bash/gawk. furthermore, it's not true that you can "just write" to a socket. for instance, udp sockets cannot be written to. - erik