Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!gatech!udel!rochester!pt!ius2.cs.cmu.edu!edw From: edw@ius2.cs.cmu.edu (Eddie Wyatt) Newsgroups: comp.lang.c Subject: Re: Fork and Join, Pipe in C Message-ID: <1186@ius2.cs.cmu.edu> Date: Mon, 8-Jun-87 12:19:28 EDT Article-I.D.: ius2.1186 Posted: Mon Jun 8 12:19:28 1987 Date-Received: Sat, 20-Jun-87 08:42:40 EDT References: <7737@brl-adm.ARPA> Organization: Carnegie-Mellon University, CS/RI Lines: 18 If the child processes that you are forking don't use much of the code that the parent usings, I sugguest you use vfork and execl to spawn processes. vfork is much faster than fork since it doesn't copy the parents address space but it has the bad side effected of using the parent's address (like shared memory). That is why its recomment that the child process do an execl immediately after a vfork to load a new image into core. You might want to take a look at MACH operating system written here at CMU. It suppositely implements threads in a much more eligent manner. MACH is also upwardly compatible with Unix 4.2 and may end up becoming Unix 5.0. -- Eddie Wyatt e-mail: edw@ius2.cs.cmu.edu