diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/mmap.cc | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 97366b0..c8789b7 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 19 9:40:00 2001 Corinna Vinschen <corinna@vinschen.de> + + * mmap.cc (mmap): Drop usage of the same memory area if the same + region of the same file is mapped twice. + Wed Apr 18 16:53:54 2001 Christopher Faylor <cgf@cygnus.com> Throughout, change fdtab references to cygheap->fdtab. diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc index 97ee24c..78765a1 100644 --- a/winsup/cygwin/mmap.cc +++ b/winsup/cygwin/mmap.cc @@ -499,9 +499,9 @@ mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t off) list *l = mmapped_areas->get_list_by_fd (fd); /* First check if this mapping matches into the chunk of another - already performed mapping. Only valid for MAP_SHARED and for - MAP_ANON in a special case of MAP_PRIVATE. */ - if (l && ((flags & MAP_SHARED) || (fd == -1 && off == 0))) + already performed mapping. Only valid for MAP_ANON in a special + case of MAP_PRIVATE. */ + if (l && fd == -1 && off == 0) { mmap_record *rec; if ((rec = l->match (off, len)) != NULL) |