and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
+Thu Feb 8 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
+
+ * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
+ and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
+
Thu Feb 8 21:57:00 2001 Corinna Vinschen <corinna@vinschen.de>
* mmap.cc (class list): Add member `hash'.
list *l = mmapped_areas->get_list_by_fd (fd);
/* First check if this mapping matches into the chunk of another
- already performed mapping. Only for MAP_SHARED mapping. */
- if (l && (flags & MAP_SHARED))
+ 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)))
{
mmap_record *rec;
if ((rec = l->match (off, len)) != NULL)