Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!cwjcc!hal!ncoast!allbery From: allbery@ncoast.ORG (Brandon S. Allbery) Newsgroups: comp.unix.wizards Subject: Re: New (GNU) kernels--what I think Message-ID: <13730@ncoast.ORG> Date: 8 Jun 89 01:06:15 GMT References: <19834@adm.BRL.MIL> <445@lexicon.com> Reply-To: allbery@ncoast.UUCP (Brandon S. Allbery) Followup-To: comp.unix.wizards Organization: Cleveland Public Access UN*X, Cleveland, Oh Lines: 31 As quoted from <445@lexicon.com> by rk@lexicon.com (Bob Kukura): +--------------- | One approach to this would be to replace the argv mechanism with some | sort of interactive scheme. A shell would start up an application as | soon as its command name was successfully completed, and then would | communicate with the application using some protocol to determine the | namespace from which completion alternatives for each argument come, | and to validate the actual arguments as they are entered. Finally, | when all the arguments are negotiated, the shell would tell the | application to go do its thing. Of course, there would also have to | be a non-interactive method of invoking all commands. Maybe a single | command-line option would be reserved for all commands that would | cause them to enter this interactive protocol to get their arguments. +--------------- Someone pointed out that this requires the process to start before I/O redirection has been completed. True enough, but -- STREAMS, and at least one implementation of sockets (sorry, I don't know enough to know whether this is common -- although the fact that nobody has mentioned it seems to imply that it's not), has the ability to pass a file descriptor between processes. Why can't the interaction take place on an out-of-the-way fd, then the last step pass the redirection fd's down the socket/STREAM which the shell uses to talk to the program? ++Brandon -- Brandon S. Allbery, moderator of comp.sources.misc allbery@ncoast.org uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu Send comp.sources.misc submissions to comp-sources-misc@ NCoast Public Access UN*X - (216) 781-6201, 300/1200/2400 baud, login: makeuser