From: Russ Cox Date: Thu, 10 Feb 2011 20:39:08 +0000 (-0500) Subject: runtime: complete windows SysReserve X-Git-Tag: weekly.2011-02-15~35 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=12bdb29bdf080af43ba7688ae5af4053eb4f7288;p=gostls13.git runtime: complete windows SysReserve Should fix windows/386 build. R=brainman CC=golang-dev https://golang.org/cl/4170041 --- diff --git a/src/pkg/runtime/windows/mem.c b/src/pkg/runtime/windows/mem.c index c523195a46..54d77da37e 100644 --- a/src/pkg/runtime/windows/mem.c +++ b/src/pkg/runtime/windows/mem.c @@ -48,7 +48,14 @@ runtime·SysFree(void *v, uintptr n) void* runtime·SysReserve(void *v, uintptr n) { - return runtime·stdcall(runtime·VirtualAlloc, 4, v, n, MEM_RESERVE, PAGE_EXECUTE_READWRITE); + // v is just a hint. + // First try at v. + v = runtime·stdcall(runtime·VirtualAlloc, 4, v, n, MEM_RESERVE, PAGE_EXECUTE_READWRITE); + if(v != nil) + return v; + + // Next let the kernel choose the address. + return runtime·stdcall(runtime·VirtualAlloc, 4, nil, n, MEM_RESERVE, PAGE_EXECUTE_READWRITE); } void