summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/System/MappedFile.h6
-rw-r--r--lib/System/Unix/MappedFile.inc3
-rw-r--r--lib/System/Win32/MappedFile.inc2
3 files changed, 5 insertions, 6 deletions
diff --git a/include/llvm/System/MappedFile.h b/include/llvm/System/MappedFile.h
index c46491ee7d..127c04f002 100644
--- a/include/llvm/System/MappedFile.h
+++ b/include/llvm/System/MappedFile.h
@@ -65,15 +65,13 @@ namespace sys {
return initialize(ErrMsg);
}
- /// unmap - Remove the mapped file from memory. If the file was mapped for
- /// write access, the memory contents will be automatically synchronized
- /// with the file's disk contents.
+ /// unmap - Remove the mapped file from memory.
void unmap();
/// map - Reserve space for the file, map it into memory, and return a
/// pointer to it. This returns the base memory address of the mapped file
/// or 0 if an error occurred.
- void *map(std::string* ErrMsg = 0);
+ const void *map(std::string* ErrMsg = 0);
void close() { if (MapInfo) terminate(); }
diff --git a/lib/System/Unix/MappedFile.inc b/lib/System/Unix/MappedFile.inc
index 92dc666043..35efaa6fcb 100644
--- a/lib/System/Unix/MappedFile.inc
+++ b/lib/System/Unix/MappedFile.inc
@@ -56,6 +56,7 @@ bool MappedFile::initialize(std::string* ErrMsg) {
}
void MappedFile::terminate() {
+ unmap();
assert(MapInfo && "MappedFile not initialized");
::close(MapInfo->FD);
delete MapInfo;
@@ -70,7 +71,7 @@ void MappedFile::unmap() {
BasePtr = 0; // Mark this as non-mapped.
}
-void* MappedFile::map(std::string* ErrMsg) {
+const void* MappedFile::map(std::string* ErrMsg) {
assert(MapInfo && "MappedFile not initialized");
if (isMapped()) return BasePtr;
diff --git a/lib/System/Win32/MappedFile.inc b/lib/System/Win32/MappedFile.inc
index 830905debc..4f30f56f74 100644
--- a/lib/System/Win32/MappedFile.inc
+++ b/lib/System/Win32/MappedFile.inc
@@ -75,7 +75,7 @@ void MappedFile::unmap() {
}
}
-void* MappedFile::map(std::string* ErrMsg) {
+const void* MappedFile::map(std::string* ErrMsg) {
if (!isMapped()) {
MapInfo->hMapping = CreateFileMapping(MapInfo->hFile, NULL, PAGE_READONLY,
0, 0, NULL);