summaryrefslogtreecommitdiff
path: root/ace/Mem_Map.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-01-30 06:43:13 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-01-30 06:43:13 +0000
commita0a241f1f6d0737271e145b9fdf0b2deadc8b51e (patch)
treed9a729abcd0421e81f2cca688ac36bc9c3fea82a /ace/Mem_Map.cpp
parentbf38ab84907aa124017d53a8a928ca8a96e17ba0 (diff)
downloadATCD-a0a241f1f6d0737271e145b9fdf0b2deadc8b51e.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Mem_Map.cpp')
-rw-r--r--ace/Mem_Map.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/ace/Mem_Map.cpp b/ace/Mem_Map.cpp
index e79a5cabf7e..14aa39de4c1 100644
--- a/ace/Mem_Map.cpp
+++ b/ace/Mem_Map.cpp
@@ -58,6 +58,15 @@ ACE_Mem_Map::map_it (ACE_HANDLE handle,
LPSECURITY_ATTRIBUTES sa)
{
ACE_TRACE ("ACE_Mem_Map::map_it");
+
+#if defined (ACE_LACKS_AUTO_MMAP_REPLACEMENT)
+ // If the system does not replace any previous mappings, then
+ // unmap() before (potentially) mapping to the same location.
+ int unmap_result = this->unmap ();
+ if (unmap_result != 0)
+ return unmap_result;
+#endif /* ACE_LACKS_AUTO_MMAP_REMAPPING */
+
this->base_addr_ = addr;
this->handle_ = handle;