From 171d1ef7feb2bcdc5f9aed84b36adfc3ae576e5d Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 17 Jun 2013 21:23:13 +0200 Subject: osdep: remove shmem wrapper This is unused now that the cache is always threaded. --- osdep/shmem.c | 137 ---------------------------------------------------------- osdep/shmem.h | 27 ------------ 2 files changed, 164 deletions(-) delete mode 100644 osdep/shmem.c delete mode 100644 osdep/shmem.h (limited to 'osdep') diff --git a/osdep/shmem.c b/osdep/shmem.c deleted file mode 100644 index 5fc7db19d3..0000000000 --- a/osdep/shmem.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * shared memory allocation - * - * based on mpg123's xfermem.c by - * Oliver Fromme - * - * 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. - */ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_MMAN_H -#include -#endif -#include -#include -#include - -#include "core/mp_msg.h" - -#ifdef AIX -#include -#endif - -#ifdef HAVE_SHM -#include -#include -#endif - -#include "shmem.h" - -#if defined(MAP_ANONYMOUS) && !defined(MAP_ANON) -#define MAP_ANON MAP_ANONYMOUS -#endif - -static int shmem_type=0; - -void* shmem_alloc(int64_t size){ -void* p; -static int devzero = -1; -if (size > SIZE_MAX) { - mp_msg(MSGT_OSDEP, MSGL_FATAL, - "Shared memory allocation larger than system max. allocation size.\n"); - return NULL; -} -while(1){ - switch(shmem_type){ - case 0: // ========= MAP_ANON|MAP_SHARED ========== -#ifdef MAP_ANON - p=mmap(0,size,PROT_READ|PROT_WRITE,MAP_ANON|MAP_SHARED,-1,0); - if(p==MAP_FAILED) break; // failed - mp_dbg(MSGT_OSDEP, MSGL_DBG2, "shmem: %"PRId64" bytes allocated using mmap anon (%p)\n",size,p); - return p; -#else -// system does not support MAP_ANON at all (e.g. solaris 2.5.1/2.6), just fail - mp_dbg(MSGT_OSDEP, MSGL_DBG3, "shmem: using mmap anon failed\n"); -#endif - break; - case 1: // ========= MAP_SHARED + /dev/zero ========== - if (devzero == -1 && (devzero = open("/dev/zero", O_RDWR, 0)) == -1) break; - p=mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,devzero,0); - if(p==MAP_FAILED) break; // failed - mp_dbg(MSGT_OSDEP, MSGL_DBG2, "shmem: %"PRId64" bytes allocated using mmap /dev/zero (%p)\n",size,p); - return p; - case 2: { // ========= shmget() ========== -#ifdef HAVE_SHM - struct shmid_ds shmemds; - int shmemid; - if ((shmemid = shmget(IPC_PRIVATE, size, IPC_CREAT | 0600)) == -1) break; - if ((p = shmat(shmemid, 0, 0)) == (void *)-1){ - mp_msg(MSGT_OSDEP, MSGL_ERR, "shmem: shmat() failed: %s\n", strerror(errno)); - shmctl (shmemid, IPC_RMID, &shmemds); - break; - } - if (shmctl(shmemid, IPC_RMID, &shmemds) == -1) { - mp_msg(MSGT_OSDEP, MSGL_ERR, "shmem: shmctl() failed: %s\n", strerror(errno)); - if (shmdt(p) == -1) perror ("shmdt()"); - break; - } - mp_dbg(MSGT_OSDEP, MSGL_DBG2, "shmem: %"PRId64" bytes allocated using SHM (%p)\n",size,p); - return p; -#else - mp_msg(MSGT_OSDEP, MSGL_FATAL, "shmem: no SHM support was compiled in!\n"); - return NULL; -#endif - } - default: - mp_msg(MSGT_OSDEP, MSGL_FATAL, - "FATAL: Cannot allocate %"PRId64" bytes of shared memory :(\n",size); - return NULL; - } - ++shmem_type; -} -} - -void shmem_free(void* p,int64_t size){ - switch(shmem_type){ - case 0: - case 1: - if(munmap(p,size)) { - mp_msg(MSGT_OSDEP, MSGL_ERR, "munmap failed on %p %"PRId64" bytes: %s\n", - p,size,strerror(errno)); - } - break; - case 2: -#ifdef HAVE_SHM - if (shmdt(p) == -1) - mp_msg(MSGT_OSDEP, MSGL_ERR, "shmfree: shmdt() failed: %s\n", - strerror(errno)); -#else - mp_msg(MSGT_OSDEP, MSGL_ERR, "shmfree: no SHM support was compiled in!\n"); -#endif - break; - } -} diff --git a/osdep/shmem.h b/osdep/shmem.h deleted file mode 100644 index 1aa8382f09..0000000000 --- a/osdep/shmem.h +++ /dev/null @@ -1,27 +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. - */ - -#ifndef MPLAYER_SHMEM_H -#define MPLAYER_SHMEM_H - -#include - -void* shmem_alloc(int64_t size); -void shmem_free(void* p,int64_t size); - -#endif /* MPLAYER_SHMEM_H */ -- cgit v1.2.3