From owner-freebsd-hackers Thu Jan 30 19:05:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id TAA25965 for hackers-outgoing; Thu, 30 Jan 1997 19:05:47 -0800 (PST) Received: from eldorado.net-tel.co.uk ([193.122.171.253]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id TAA25957 for ; Thu, 30 Jan 1997 19:05:40 -0800 (PST) From: Andrew.Gordon@net-tel.co.uk Received: (from root@localhost) by eldorado.net-tel.co.uk (8.6.12/8.6.10) id DAA19743; Fri, 31 Jan 1997 03:04:29 GMT Received: from "/PRMD=NET-TEL/ADMD=GOLD 400/C=GB/" by net-tel.co.uk (Route400-RFCGate); Fri, 31 Jan 97 3:01:20 +0000 X400-Received: by mta "eldorado" in "/PRMD=net-tel/ADMD=gold 400/C=gb/"; Relayed; Fri, 31 Jan 97 3:01:20 +0000 X400-Received: by mta "net-tel cambridge" in "/PRMD=net-tel/ADMD=gold 400/C=gb/"; Relayed; Fri, 31 Jan 97 3:01:18 +0000 X400-Received: by "/PRMD=NET-TEL/ADMD=Gold 400/C=GB/"; Relayed; Fri, 31 Jan 97 3:01:17 +0000 X400-MTS-Identifier: ["/PRMD=NET-TEL/ADMD=Gold 400/C=GB/";hst:8035-970131030117-6E3C] X400-Content-Type: P2-1984 (2) X400-Originator: Andrew.Gordon@net-tel.co.uk Original-Encoded-Information-Types: IA5-Text X400-Recipients: non-disclosure:; Date: Fri, 31 Jan 97 3:01:17 +0000 X400-Content-Identifier: Re(2): Using rfo Message-Id: <"40b1-970131030103-8AD9*/G=Andrew/S=Gordon/O=NET-TEL Computer Systems Ltd/PRMD=NET-TEL/ADMD=Gold 400/C=GB/"@MHS> To: rminnich@Sarnoff.COM Cc: freebsd-hackers@freebsd.org In-Reply-To: Subject: Re(2): Using rfork() / threads Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > VM space handling is a little different. If you request VM space sharing, > you don't exactly get Vm address space sharing: what you get is instead > shared data areas where in normal fork they are copied. More details on > request. The effect is what you want, though: shared data areas. What synchronization primitives are you supposed to use between two rfork()ed processes? Using SysV sepmaphores seems a bit perverse (and would they even work in the environment after a rfork() ?), but talking through pairs of sockets to lock small datastructures seems a bit heavyweight.