delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/07/14/10:42:39

X-Spam-Check-By: sourceware.org
Date: Fri, 14 Jul 2006 09:42:33 -0500
From: Brian Ford <Brian DOT Ford AT FlightSafety DOT com>
Reply-To: cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
Subject: Re: 1.5.21s mmap error
In-Reply-To: <20060714091601.GD8759@calimero.vinschen.de>
Message-ID: <Pine.CYG.4.58.0607140931050.3316@PC1163-8460-XP.flightsafety.com>
References: <Pine DOT CYG DOT 4 DOT 58 DOT 0607121030410 DOT 3792 AT PC1163-8460-XP DOT flightsafety DOT com> <20060712165900 DOT GQ8759 AT calimero DOT vinschen DOT de> <Pine DOT CYG DOT 4 DOT 58 DOT 0607121318080 DOT 2284 AT PC1163-8460-XP DOT flightsafety DOT com> <20060712202215 DOT GS8759 AT calimero DOT vinschen DOT de> <Pine DOT CYG DOT 4 DOT 58 DOT 0607121536330 DOT 3784 AT PC1163-8460-XP DOT flightsafety DOT com> <20060713103431 DOT GA17383 AT calimero DOT vinschen DOT de> <Pine DOT CYG DOT 4 DOT 58 DOT 0607130933400 DOT 1164 AT PC1163-8460-XP DOT flightsafety DOT com> <Pine DOT CYG DOT 4 DOT 58 DOT 0607131315110 DOT 3316 AT PC1163-8460-XP DOT flightsafety DOT com> <20060714091601 DOT GD8759 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 Fri, 14 Jul 2006, Corinna Vinschen wrote:
> Unfortunately the OS functions don't trigger the exception handler of
> the application, so the standard way of doing this doesn't work here.

That's what I figured.

> There's no way around that except for wrapping each and every call to an
> OS function manipulating application memory (here: ReadFile) with a test
> for ERROR_NOACCESS and trying to resolve this by looking through the
> list of mmaps.

A retry if successful, I presume?  How long is the list?  I'm sure I'm not
thinking hard enough, but the only ones that come to mind as likely
candidates are read, write, send, recv and varients.

> I'm not sure we really want to do that, certainly not for 1.5.21.  If
> you need this sort of functionality, switch off MAP_NORESERVE.

Sure, I know how to work around it.

I just wanted to point out that MAP_NORESERVE is somewhat broken.  I'd bet
there are other applications that will be caught by this bug.  Shouldn't
we just disable it until it works well enough for the application to at
least not know we aren't quite compliant?  I think a half working feature
might be worse than a nonexistant one, especially when the feature is
primarily a performance optimization.

> As for EISDIR, that's fixed in CVS. EACCES is returned now.

Thanks.

-- 
Brian Ford
Lead Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained crew...

.


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019