summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/mmap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/mmap.cc')
-rw-r--r--winsup/cygwin/mmap.cc14
1 files changed, 2 insertions, 12 deletions
diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc
index e05d014f5..5f07efd98 100644
--- a/winsup/cygwin/mmap.cc
+++ b/winsup/cygwin/mmap.cc
@@ -336,7 +336,6 @@ mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t off)
if (off % getpagesize ()
|| (!(flags & MAP_SHARED) && !(flags & MAP_PRIVATE))
|| ((flags & MAP_SHARED) && (flags & MAP_PRIVATE))
- || ((flags & MAP_SHARED) && (flags & MAP_ANONYMOUS))
|| ((flags & MAP_FIXED) && ((DWORD)addr % granularity))
|| !len)
{
@@ -409,17 +408,8 @@ mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t off)
gran_len = fsiz;
}
else if (fh->get_device () == FH_ZERO)
- {
- /* mmap /dev/zero is like MAP_ANONYMOUS. */
- if (flags & MAP_SHARED)
- {
- set_errno (EINVAL);
- syscall_printf ("-1 = mmap(): EINVAL");
- ReleaseResourceLock(LOCK_MMAP_LIST,READ_LOCK|WRITE_LOCK," mmap");
- return MAP_FAILED;
- }
- fd = -1;
- }
+ /* mmap /dev/zero is like MAP_ANONYMOUS. */
+ fd = -1;
}
if (fd == -1)
{