Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Nov 1998 11:10:56 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        Brian Feldman <green@zone.syracuse.net>
Cc:        current@FreeBSD.ORG
Subject:   Re: linux_clone news 
Message-ID:  <199811040310.LAA27286@spinner.netplex.com.au>
In-Reply-To: Your message of "Tue, 03 Nov 1998 12:52:35 EST." <Pine.BSF.4.05.9811031248150.29837-100000@zone.syracuse.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
Brian Feldman wrote:
> Linux_clone() works! Or at least it seems to work correctly now. I have
> a proper patchset now as well, attached at the end of this message. Bad
> news: linuxthreads still does not work right. Altho I seem to have
> corrected and redone the inaccurate parts of my code (thanks SO MUCH
> Luoqi, you were really key in helping me here :), there seems to be some
> kind of spinning pthread_create(). If anyone would like to apply my Linux
> emulation patches, download LinuxThreads, and work on helping the state of
> FreeBSD's Linux emulation out here, please do!

I think the bit that is going to bite you is the lack of support for 
sharing the signal handlers.  linuxthreads uses signals for internal 
management from memory.  With the emulated clone(), a child changing it's 
signal handler will not change the global vectors, and things could get 
upset.

It might be possible to implement a bit more glue in the rfork() code and
child management so that rfork children can set their p_sigacts to a common
shared vector.  This would have to malloced rather than in the UPAGES
because the implications of a swapout of the leader would be devastating.

> Cheers,
> Brian Feldman

Cheers,
-Peter



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811040310.LAA27286>