qfork()

Masataka Ohta mohta at necom830.cc.titech.ac.jp
Sun Feb 3 23:54:51 AEST 1991


Submitted-by: mohta at necom830.cc.titech.ac.jp (Masataka Ohta)

In article <16994 at cs.utexas.edu>
	richard at aiai.ed.ac.uk (Richard Tobin) writes:

>Of course, these programs don't usually change many variables, so a
>copy-on-write fork() won't need many pages in this case.  A c-o-w	
>fork() with late allocation of pages could could be as robust as
>vfork() almost always by pre-allocating a few pages.

That is the case where COW fork() with late allocation of pages or
vfork() must be used.

>Surely the problem is when it's being used as a *real* fork(), and the
>program fails much later when it modifies one variable too many.

If fork() is used as a real fork(), it is very probable that it modifies
its data space many times.

The severe problem is that the program can not control the failure.
It immediately dies.

With non-COW fork() or COW fork() with immediate allocation of pages,
such a failure can be detected as error return value of fork()
and may be processed in a controlled fashion.

					Masataka Ohta

Volume-Number: Volume 22, Number 101



More information about the Comp.std.unix mailing list