[MPlayer-cvslog] r29609 - trunk/libvo/vo_corevideo.m
reimar
subversion at mplayerhq.hu
Tue Sep 1 14:12:45 CEST 2009
Author: reimar
Date: Tue Sep 1 14:12:45 2009
New Revision: 29609
Log:
Make shm_fd a local variable and close it when we need it no longer, thus
fixing a file descriptor leak.
Modified:
trunk/libvo/vo_corevideo.m
Modified: trunk/libvo/vo_corevideo.m
==============================================================================
--- trunk/libvo/vo_corevideo.m Tue Sep 1 12:48:47 2009 (r29608)
+++ trunk/libvo/vo_corevideo.m Tue Sep 1 14:12:45 2009 (r29609)
@@ -57,7 +57,6 @@ NSAutoreleasePool *autoreleasepool;
OSType pixelFormat;
//shared memory
-int shm_fd;
BOOL shared_buffer = false;
#define DEFAULT_BUFFER_NAME "mplayerosx"
static char *buffer_name;
@@ -173,6 +172,7 @@ static int config(uint32_t width, uint32
}
else
{
+ int shm_fd;
mp_msg(MSGT_VO, MSGL_INFO, "[vo_corevideo] writing output to a shared buffer "
"named \"%s\"\n",buffer_name);
@@ -190,12 +190,14 @@ static int config(uint32_t width, uint32
{
mp_msg(MSGT_VO, MSGL_FATAL,
"[vo_corevideo] failed to size shared memory, possibly already in use. Error: %s\n", strerror(errno));
+ close(shm_fd);
shm_unlink(buffer_name);
return 1;
}
image_data = mmap(NULL, image_width*image_height*image_bytes,
PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0);
+ close(shm_fd);
if (image_data == MAP_FAILED)
{
More information about the MPlayer-cvslog
mailing list