diff options
author | wm4 <wm4@nowhere> | 2013-07-07 21:44:37 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-07-07 21:44:37 +0200 |
commit | 659a314a19c12f5efeab46caca7a306c3330d85c (patch) | |
tree | 4cbd8af54d255655f3d8420a3d30ca2990b5b09c /osdep/mmap_anon.c | |
parent | 74b6d8f306530910d9d2e25dd2f48afb99e7e3eb (diff) | |
download | mpv-659a314a19c12f5efeab46caca7a306c3330d85c.tar.bz2 mpv-659a314a19c12f5efeab46caca7a306c3330d85c.tar.xz |
osdep: remove unused mmap compatibility hacks
Not sure how this worked. Only af_export.c and tvi_v4l2.c were
using mmap, but they didn't include osdep/mmap.h or mmap_anon.h. In
any case, we trust that the target system is sufficiently POSIX
compliant if mmap is actually defined (as checked by configure).
Diffstat (limited to 'osdep/mmap_anon.c')
-rw-r--r-- | osdep/mmap_anon.c | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/osdep/mmap_anon.c b/osdep/mmap_anon.c deleted file mode 100644 index d5b3a3dd2f..0000000000 --- a/osdep/mmap_anon.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - - /** - * \file mmap_anon.c - * \brief Provide a compatible anonymous space mapping function - */ -#include "config.h" - -#include <stdio.h> -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> - -#include "mmap_anon.h" - -#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) -#define MAP_ANONYMOUS MAP_ANON -#endif - -/* - * mmap() anonymous space, depending on the system's mmap() style. On systems - * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor - * of the opened /dev/zero. - */ - - /** - * \brief mmap() anonymous space, depending on the system's mmap() style. On systems - * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor - * of the opened /dev/zero. - * - * \param addr address to map at. - * \param len number of bytes from addr to be mapped. - * \param prot protections (region accessibility). - * \param flags specifies the type of the mapped object. - * \param offset start mapping at byte offset. - * \param zerofd - * \return a pointer to the mapped region upon successful completion, -1 otherwise. - */ -void *mmap_anon(void *addr, size_t len, int prot, int flags, off_t offset) -{ - void *result; - - /* From loader/ext.c: - * "Linux EINVAL's on us if we don't pass MAP_PRIVATE to an anon mmap" - * Therefore we preserve the same behavior on all platforms, ie. no - * shared mappings of anon space (if the concepts are supported). */ -#if defined(MAP_SHARED) && defined(MAP_PRIVATE) - flags = (flags & ~MAP_SHARED) | MAP_PRIVATE; -#endif /* defined(MAP_SHARED) && defined(MAP_PRIVATE) */ - -#ifdef MAP_ANONYMOUS - /* BSD-style anonymous mapping */ - result = mmap(addr, len, prot, flags | MAP_ANONYMOUS, -1, offset); -#else - /* SysV-style anonymous mapping */ - int fd; - fd = open("/dev/zero", O_RDWR); - if(fd < 0){ - perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: "); - return NULL; - } - - result = mmap(addr, len, prot, flags, fd, offset); - close(fd); -#endif /* MAP_ANONYMOUS */ - - return result; -} |