Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!killer!tness7!tness1!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga Subject: Re: Amiga UNIX Message-ID: <2188@sugar.UUCP> Date: 27 Jun 88 01:37:16 GMT References: <1985@uhccux.uhcc.hawaii.edu> <4079@cbmvax.UUCP> <6811@cup.portal.com> <4112@cbmvax.UUCP> Organization: Sugar Land UNIX - Houston, TX Lines: 23 In article <4112@cbmvax.UUCP>, jesup@cbmvax.UUCP (Randell Jesup) writes: > All you need to do a fork() is to copy the data/stack segments on > task swaps between those two. My claim is that this gives you an unacceptable speed penalty. One of the most common programs that does fancy stuff with forks is the shell. Every time you run a script that does something like: cat file | while read FOO BAR JUNK; do frobb $FOO | baz $BAR; done | ... That 'while' (according to the docs: I haven't seen the Bourne shell source) runs in a forked subshell. Now all you have to do is stick this in the background, or do this twice, and you die die die die... > Luckily, VERY few programs > fork without exec()ing or exit()ing soon thereafter (though they often > muck with fd's, etc first.) Yeh, the shell is the only one I can think of that I use often :->. -- -- `-_-' Peter (have you hugged your wolf today?) da Silva. -- U Mail to ...!uunet!sugar!peter, flames to /dev/null. -- "A foolish consistancy is the hobgoblin of little minds".