X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 5 Nov 2007 16:17:26 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: cygwin stable and cvs snapshot - fork() bug Message-ID: <20071105151726.GA20309@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20071029083512 DOT GA4224 AT calimero DOT vinschen DOT de> <4725D656 DOT 5090303 AT cygwin DOT com> <20071101095835 DOT GG31224 AT calimero DOT vinschen DOT de> <20071105102147 DOT GI31224 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Nov 5 09:49, Lev Bishop wrote: > It indeed seems this is behaviour not described in SuSv3. But several > unices support (some variant of) this behaviour. At least linux, > freebsd, hp-ux, solaris 10 mention it in their man pages, and openbsd > and netbsd seem to implement it that way even though they don't > describe it in the man pages. Yeah, we're using the FreeBSD code so the behaviour is already as in Linux, as I mentioned in my previous mail. > A further linux extension: In addition to all the above, Linux goes > even further and still allows you to attach the segment even after > marking it for deletion. > [...] > Freebsd (since version 5.2) has a sysctl kern.ipc.shm_allow_removed > which seems to allow you to force the linux behaviour on this issue. > Openbsd automatically does it (only) when running linux binaries via > compat_linux(8). Since we're using FreeBSD code, there's a variable shm_allow_removed in the code already which allows this behaviour. There's just no way right now to set it. It's always zero. It would be quite easy to add a cygserver.conf setting for this, though. > If you do implement the behaviour of not destroying the segment until > shm_nattach==0, you'll want to make sure that the shared memory key > can be reused immediately after the old segment has been IPC_RMIDed, > even though the old mapping may still be around. The other OS's which > implement it seem to do this by having shmctl(IPC_RMID) change the key > of the segment to be IPC_PRIVATE. Since we're using FreeBSD code... > Don't you just love standards.... The best thing with standards is that we have so many of them. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/