From owner-freebsd-current Tue Nov 3 19:12:02 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA04092 for freebsd-current-outgoing; Tue, 3 Nov 1998 19:11:41 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA04084 for ; Tue, 3 Nov 1998 19:11:30 -0800 (PST) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.9.1/8.9.1/Spinner) with ESMTP id LAA27286; Wed, 4 Nov 1998 11:10:56 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199811040310.LAA27286@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: Brian Feldman cc: current@FreeBSD.ORG Subject: Re: linux_clone news In-reply-to: Your message of "Tue, 03 Nov 1998 12:52:35 EST." Date: Wed, 04 Nov 1998 11:10:56 +0800 From: Peter Wemm Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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