This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.5.21s mmap error


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]