Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!dciem!nrcaer!cognos!jimp From: jimp@cognos.uucp (Jim Patterson) Newsgroups: comp.os.vms Subject: Re: Need faster VMS spawn Message-ID: <633@cognos.UUCP> Date: Thu, 30-Apr-87 16:19:58 EDT Article-I.D.: cognos.633 Posted: Thu Apr 30 16:19:58 1987 Date-Received: Sat, 2-May-87 08:25:00 EDT References: <8704230311.AA00968@uvabick.UUCP> Reply-To: jimp@cognos.UUCP (Jim Patterson) Distribution: world Organization: Cognos Incorporated, Ottawa, Canada Lines: 31 I'm replying to your posting just to correct some apparent misunderstandings about a few of the VMS services. >In VMS, ... >They have LIB$SPAWN, which is a higher-level interface to SYS$CREPRC, There are some significant differences between LIB$SPAWN and SYS$CREPRC besides the interface itself. Primarily, LIB$SPAWN is intended to create a copy of your DCL session (or other command-interpreter). This involves copying over process logicals, DCL symbols and other tid-bits of information. SYS$CREPRC does none of this, but simply runs another program/process. (That's why it runs so much faster). However, because it doesn't copy over this environment, it also doesn't provide the same user environment that was available to the command interpretor user. Before LIB$SPAWN was provided (in VMS 3.0), it was extremely difficult in VMS to implement the equivalent of the unix system() call. >You will have to look at the System Services manual to find out what it's >called, but I know that there is also a "exec"-like routine that overlays all >or part of your address space with a new program image. You won't find this in the system services manual. The routine you're referring to is the image activator, and it's used by DCL to merge a user program or image into the process address space as part of a RUN command. It's not intended to be called by user programs directly. However, you're right that it is implemented as a system service. -- Jim Patterson Cognos Inc.