diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2005-02-25 21:23:15 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2005-02-25 21:23:15 +0000 |
commit | 6d11044c633bc7aca545c5409327ef023646205b (patch) | |
tree | 36cafdc3745b15ae7f1945dac569ff8e3015ce29 /winsup/cygwin/fhandler_mem.cc | |
parent | 99e281eb1939d42ef14a03bbe8847da6cdd003ee (diff) | |
download | newlib-6d11044c633bc7aca545c5409327ef023646205b.zip newlib-6d11044c633bc7aca545c5409327ef023646205b.tar.gz newlib-6d11044c633bc7aca545c5409327ef023646205b.tar.bz2 |
* fhandler.h (class fhandler_base): Declare fixup_mmap_after_fork
with additional flags parameter. Change offset parameter to _off64_t.
(class fhandler_disk_file): Ditto.
(class fhandler_dev_mem): Ditto.
* fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork):
Accomodate new parameters.
* mmap.cc: Include ntdll.h.
(class mmap_record): Add flags member.
(mmap_record::mmap_record): Add flags parameter.
(mmap_record::get_flags): New method.
(class map): Add next_anon_addr member to store next anonymous mapping
address suggestion.
(map::get_next_anon_addr): New method.
(map::set_next_anon_addr): New method.
(mmap64): Don't align offset and length to granularity in case of
MAP_ANONYMOUS on NT. Check for already existing mapping only on 9x.
Call mmap_record::mmap_record with additional flags argument.
(fhandler_base::fixup_mmap_after_fork): Accomodate new parameters.
(fhandler_disk_file::mmap): Use NtMapViewOfSection with
AT_ROUND_TO_PAGE flag for anonymous mappings on NT. If addr is NULL,
try to map adjacent to previous mapping.
(fhandler_disk_file::fixup_mmap_after_fork): Add flags argument.
Change offset parameter to _off64_t. Use NtMapViewOfSection to
re-create anonymous mappings on NT.
(fixup_mmaps_after_fork): Accomodate new parameters when calling
fhandler's fixup_mmaps_after_fork function.
* ntdll.h (AT_ROUND_TO_PAGE): New define.
Diffstat (limited to 'winsup/cygwin/fhandler_mem.cc')
-rw-r--r-- | winsup/cygwin/fhandler_mem.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/fhandler_mem.cc b/winsup/cygwin/fhandler_mem.cc index 68532c6..4c873d7 100644 --- a/winsup/cygwin/fhandler_mem.cc +++ b/winsup/cygwin/fhandler_mem.cc @@ -361,8 +361,9 @@ fhandler_dev_mem::msync (HANDLE h, caddr_t addr, size_t len, int flags) } bool -fhandler_dev_mem::fixup_mmap_after_fork (HANDLE h, DWORD access, DWORD offset, - DWORD size, void *address) +fhandler_dev_mem::fixup_mmap_after_fork (HANDLE h, DWORD access, int flags, + _off64_t offset, DWORD size, + void *address) { DWORD ret; PHYSICAL_ADDRESS phys; |