This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: 1.7.0 CVS mmap failure
On Fri, Jan 05, 2007 at 08:17:51AM -0800, Christopher Layne wrote:
>mmap() is supposed to zero-fill, not refuse to map when len
>is less than the system page size. I have never ever seen
>mmap() fail to map less than page size on any typical Posix
>system.
>
>"
> The system shall always zero-fill any partial page at the end
> of an object. Further, the system shall never write out any
> modified portions of the last page of an object which are
> beyond its end. References within the address range starting
> at pa and continuing for len bytes to whole pages following the
> end of an object shall result in delivery of a SIGBUS signal.
>"
>
>Back to the original issue, consider this:
>
>MEM_TOP_DOWN
>0x100000 Allocates memory at the highest possible address.
>
>If there were any kind of simple arithmetic bug behind mmap()'s
>scenes (such as computing space to zero-fill, etc. etc.) I would
>think ENOMEM would be a very common scenario if we're allocating
>near the end of addressible space.
% grep "simple arithmetic bug" mmap.cc
%
Seems fine to me.
It's probably a hyperthreaded, dual-core problem.
cgf
--
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/