Re: Porting vfork()

Perry Harrington (pedward@sun4.apsoft.com)
Thu, 7 Jan 1999 19:22:19 -0800 (PST)


I discussed this issue with Linus as well, and concluded that vforking
within a cloned process can be achieved via putting the sleep_on in the
task structure. I'm going to be working on this tonight and I'll see
what I can do.

I had one question that I think you could answer: vfork() does not
copy the signal handler of the parent, correct?

>
> Come to think of it, though, one thread (of a bunch that are using the
> same mm) ought to be able to vfork(), even if more then one can't. Maybe
> add a mutex around the sleep (this doesn't involve recursion, just
> multithreading, so deadlock shouldn't be too much of an issue), or give up
> and move the sleep wait_queue into the task_struct. Might need another
> count to prevent recursion, though.
>
> Before anyone asks, yes, this is almost a real-world issue. If I had
> needed to speed up a uClinux httpd much more, it would have been
> multi-threaded, and it was already CGI capable...
>
> --
> Kenneth Albanowski (kjahds@kjahds.com, CIS: 70705,126)
>

--Perry

-- 
Perry Harrington       Linux rules all OSes.    APSoft      ()
email: perry@apsoft.com 			Think Blue. /\

- 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/