summaryrefslogtreecommitdiff
path: root/ace/OS_NS_sys_mman.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS_NS_sys_mman.inl')
-rw-r--r--ace/OS_NS_sys_mman.inl13
1 files changed, 8 insertions, 5 deletions
diff --git a/ace/OS_NS_sys_mman.inl b/ace/OS_NS_sys_mman.inl
index 3f1a69de2bb..422d07e9c35 100644
--- a/ace/OS_NS_sys_mman.inl
+++ b/ace/OS_NS_sys_mman.inl
@@ -37,7 +37,7 @@ ACE_OS::mmap (void *addr,
int prot,
int flags,
ACE_HANDLE file_handle,
- off_t off,
+ ACE_OFF_T off,
ACE_HANDLE *file_mapping,
LPSECURITY_ATTRIBUTES sa,
const ACE_TCHAR *file_mapping_name)
@@ -135,18 +135,21 @@ ACE_OS::mmap (void *addr,
nt_flags |= ACE_OS_EXTRA_MMAP_FLAGS;
# endif /* ACE_OS_EXTRA_MMAP_FLAGS */
+ DWORD low_off = ACE_LOW_PART (off);
+ DWORD high_off = ACE_HIGH_PART (off);
+
# if !defined (ACE_HAS_WINCE)
void *addr_mapping = ::MapViewOfFileEx (*file_mapping,
nt_flags,
- 0,
- off,
+ high_off,
+ low_off,
len,
addr);
# else
void *addr_mapping = ::MapViewOfFile (*file_mapping,
nt_flags,
- 0,
- off,
+ high_off,
+ low_off,
len);
# endif /* ! ACE_HAS_WINCE */