summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--osdep/shmem.c9
-rw-r--r--osdep/shmem.h2
2 files changed, 9 insertions, 2 deletions
diff --git a/osdep/shmem.c b/osdep/shmem.c
index 4339c89533..d697dc837d 100644
--- a/osdep/shmem.c
+++ b/osdep/shmem.c
@@ -94,8 +94,15 @@ while(1){
}
}
-void shmem_free(void* p){
+void shmem_free(void* p,int size){
switch(shmem_type){
+ case 0:
+ case 1:
+ if(munmap(p,size)) {
+ mp_msg(MSGT_OSDEP, MSGL_ERR, "munmap failed on %p %d bytes: %s\n",
+ p,size,strerror(errno));
+ }
+ break;
case 2:
#ifdef HAVE_SHM
if (shmdt(p) == -1)
diff --git a/osdep/shmem.h b/osdep/shmem.h
index 58ceee4e44..f3ed9b26bb 100644
--- a/osdep/shmem.h
+++ b/osdep/shmem.h
@@ -1,4 +1,4 @@
void* shmem_alloc(int size);
-void shmem_free(void* p);
+void shmem_free(void* p,int size);