mmap of large amount returns invalid pointer

Stephen Weeks sweeks@acm.org
Tue Mar 12 18:48:00 GMT 2002


> looks like you have overlooked that mmap doesn't return NULL
> despite win32 error in strace (see below):
> 
> c:\>net helpmsg 1455
> 
> The paging file is too small for this operation to complete.

Thanks for pointing that out.  I agree that it looks like the Cygwin
dll is failing to check for the Win32 error, which should have caused
mmap to return -1.

But even if that is fixed, I don't understand why Cygwin/mmap is
unable to obtain the memory.  My earlier message showed that at the
start of the program the information returned by GlobalMemoryStatus
shows that there is easily >300Mb available.

TotalPhys: 209113088
AvailPhys: 166580224
TotalPageFile: 309587968
AvailPageFile: 275365888
TotalVirtual: 2147352576
AvailVirtual: 1589841920

I tried a modified version of the program that uses VirtualAlloc/Free
instead of mmap/munmap and it is able to allocate, zero, and free
300Mb.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list