[BUG] mprotect() on Windows NT 5+

Xavier Joubert xavier.joubert@free.fr
Thu Jul 15 21:18:00 GMT 2004


Hello Corinna,


Selon Corinna Vinschen <corinna-cygwin@cygwin.com>:
> The cause is a limitation in newer Windows NT versions, which make sense.
> Well, sort of.  The protection modes PAGE_READWRITE and PAGE_WRITECOPY are
> mutually exlusive, which is enforced in calls to VirtualProtect since W2K.
>
> Since your example uses MAP_PRIVATE, which Cygwin maps to PAGE_WRITECOPY,
> trying to protect with MAP_WRITE, which internally maps to PAGE_READWRTE,
> fails on W2K and later.  I've checked in a fix, so that mprotect tests for
> the original protection mode of the first page in the area, and uses
> READWRITE or WRITECOPY, whichever matches the original protection.

Whow! That's amazing! I didn't expect to get a reply today. Even less a fix
commited to CVS. If all bugs last only 51 minutes in Cygwin, this software will
quickly become perfect!

Thanks _a lot_ Corinna !

I'll try Cygwin snapshot tomorrow and let you know how it goes with the real
stuff.


Xavier

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



More information about the Cygwin mailing list