diff options
Diffstat (limited to 'osdep')
-rw-r--r-- | osdep/shmem.c | 9 | ||||
-rw-r--r-- | osdep/shmem.h | 2 |
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); |