home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: sef@kithrup.COM (Sean Eric Fagan)
-
- 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. SunOS has named pipes; SysV has named pipes. Which of
- these is not "popular" by your definition, Dan?)
-
- >The proponents of super-open() seem to want to be able to create new
- >files, new TCP connections, and so on with a single system call. *How is
- >open() going to create new pipes*?
-
- How is open() going to create a directory?
-
- >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? (After all, you can do
-
- FILE *fp = popen ("cat < file", "r");
-
- instead of using open() or fopen() directly, right?)
-
- >How about this: Pipes don't belong in the filesystem.
-
- Circular arguments are pretty weak for someone as bright as you, Dan. You
- are welcome to argue that pipes don't belong in the filesystem because they
- don't belong there, but you won't win many debates or arguments that way.
-
- >What if you don't have a
- >directory available for the mknod()?
-
- What if you don't have a directory available for any open()? *Gasp*! You
- may have to use tmpnam()! Will the world survive this?
-
- >Anyway, I don't think named pipes are really
- >relevant to the discussion; you don't create a *new* pipe through the
- >filesystem when you open() a named pipe.
-
- That's nice. You used to not be able to create a new file when you open()ed
- it, either; that's what creat() was for, remember? How long was it before
- BSD had a version of open() that would create the file if desired?
-
- >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. SunOS, 4.4, SysVr4 all have the means to support this type of
- generalization, and someone, at some point, will probably write a "network
- filesystem" (not NFS, but of the type "/network/host/port") for one or more
- of them.
-
- 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.
- At the time, I was against it, as the description was vague enough and I
- didn't see the advantage. I've since relaxed my position a bit: I can
- understand the use for it, and even see some things that you cannot do
- without it.
-
- This is, as Dan stated, getting away from the topic. I'm going to crosspost
- to comp.unix.internals and set followups there.
-
- --
- Sean Eric Fagan
- sef@kithrup.COM
-
- Volume-Number: Volume 26, Number 71
-
-