Re: Porting vfork()

Linus Torvalds (torvalds@transmeta.com)
Thu, 7 Jan 1999 11:58:45 -0800 (PST)


On Thu, 7 Jan 1999, Kenneth Albanowski wrote:
> >
> > wake_up(&mm->sleep);
> >
> > at the top of the function.
>
> You'll also need a wake_up in kernel/exit.c.

No, exit_mm will call mmput(), so that will do the wakeup as far as I can
tell.

> > if (child > 0) {
> > while (current->mm->count > 1)
> > sleep_on(current->mm->sleep);
> > }
> > return child;
> > }
>
> Interesting. Did you have a particular reason to expect this loop to be
> triggered?

No, as I disabled the recursive thing anyway. With a recursive thing you
need a while loop, but the above wouldn't work anyway (the "1" is no
longer a one at all). So you could certainly change the 'while' into an
'if'.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/