diff options
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_mmap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mysys/my_mmap.c b/mysys/my_mmap.c index a111c3dc571..cd84630a761 100644 --- a/mysys/my_mmap.c +++ b/mysys/my_mmap.c @@ -46,11 +46,14 @@ void *my_mmap(void *addr, size_t len, int prot, DWORD flProtect=0; HANDLE hFileMap; LPVOID ptr; + HANDLE hFile= (HANDLE)_get_osfhandle(fd); + if (hFile == INVALID_HANDLE_VALUE) + return MAP_FAILED; flProtect|=SEC_COMMIT; - hFileMap=CreateFileMapping(fd, NULL, &mmap_security_attributes, - PAGE_READWRITE, 0, len, 0); + hFileMap=CreateFileMapping(hFile, &mmap_security_attributes, + PAGE_READWRITE, 0, len, NULL); if (hFileMap == 0) return MAP_FAILED; |