home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: brnstnd@KRAMDEN.ACF.NYU.EDU (Dan Bernstein)
-
- Sean's right that discussions of possible future extensions to UNIX
- don't belong anywhere near comp.std.unix, so I'll stick to the points
- relevant to standardizing a super-open(). To review the main issue: Many
- POSIX members seem to think that POSIX should standardize a version of
- open() which can open network connections. I find this position utterly
- ridiculous. I once again accuse POSIX of standardizing inventions which
- nobody has implemented, let alone tried on the market.
-
- Sean writes:
- > In article <1992Jan8.231229.23299@uunet.uu.net> brnstnd@KRAMDEN.ACF.NYU.EDU (Dan Bernstein) writes:
- > >But pipes *still* aren't in the filesystem in any popular UNIX variant.
- > You mean like xenix? (200k installed systems, as far as I know, all of them
- > have named pipes.
-
- Please read what I wrote. As I said before, open() doesn't let you
- *create* a pipe in any popular UNIX variant. Named pipes are *not* new
- pipes. To create a named pipe you need mknod() (or POSIX mkfifo()).
-
- [ network connections ]
- > >So put it into your shell! There's nothing stopping you. tcsh sources
- > >are freely available.
- > That doesn't help any other case, Dan. Such as a program wanting to open up
- > a connection to some other site. I guess you're advocating using popen()
- > instead of open for every case, right?
-
- As I said before, tools like sh and editors are powerful enough to open
- programs as well as files. vi already calls the shell automatically if
- it sees any special characters; if you gave your shell a syntax for
- network connections, vi would automatically use that syntax. Less
- powerful utilities don't need to open network connections any more than
- they need to open files; they can stick to file descriptors.
-
- > >The question is: Has this amount of generalization appeared in any
- > >popular UNIX system, let alone a sufficient number of systems that we
- > >can honestly call it an industry standard?
- > Plan 9. Version 8. BSD 4.4 will probably have a /proc, SysVr4 already
- > does.
-
- /proc is not the same as a super-open(). I have no objection to POSIX
- documenting features which the industry has agreed on. The industry has
- not agreed on an open() which can create network connections. Period.
-
- > There was a proposal, a year or so ago, to create a 'fdlink()' system call,
- > that would create a name in the filesystem for any given file descriptor.
-
- May I remind you that I was one of the proponents of that syscall? And
- that it was only supposed to work for regular files which were already
- stored in the same filesystem, for the same reason that link() only
- works for names in the same filesystem?
-
- ---Dan
-
- [ To save everyone a lot of anguish: Dan, most people here haven't
- argued that open() should create things, such as network connections.
- But we are arguing that it fits the unix model to have them in the
- filesystem's namespace; if you are not against /proc, you cannot be
- against /tcp or /net or whatever it decides to be called, as they are
- essentially the same thing: using the namespace to get at things
- normally only accessible through twisted mazes. Both cases put some
- (or all) of the work onto the filesystem (be it in the kernel, a user-
- process, or whatever). -- mod ]
-
- Volume-Number: Volume 26, Number 78
-
-