Oliver Stieber wrote:
Finally if you do NOT have a flex-mmap kernel, that may also allow the win32 heap to grow as much as necessary.
I've tried doing... int i; int j; char* data; for(i =0 ; i< 10 ; i++){ data = HeapAlloc(GetProcessHeap(),0,64*1024*1024);
/*write to the data for linux really allocates it*/ for(j = 0 ; j < 128; j++){ data[j*1024*512] = 1; }
} and that works ok.
Is Pirates actually running out of heap space in HeapAlloc or is it trying to create huge heap through the HeapCreate function? If it's the first, then it would be really strange as the OS is saying that we can't allocate a 64KB block of virtual memory. Like I said before, /proc/<PID>/maps will tell us more.
Rob
Rob