Commit 503a7851 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

luasd: Force a garbage collect at the end of Run().

Generally the core won't call Close() until the end of vlc's life. Hence
it's our last chance to gc collect before the end of vlc's life.

This gets important because some sd (freebox...) will open a vlc.stream
which (and that's an other issue) will eat 12MB at creation for a cache
that will never be completely filed. It also mean that if you vlc.stream
N small files, we may consume N * 12MB until finally lua decides to garabge
collect. And because we don't teach lua that vlc.stream takes 12MB this
is not likely to happen.
parent 15e7ff2b
...@@ -172,5 +172,10 @@ static void* Run( void *data ) ...@@ -172,5 +172,10 @@ static void* Run( void *data )
return NULL; return NULL;
} }
msg_Dbg( p_sd, "LuaSD script loaded: %s", p_sys->psz_filename ); msg_Dbg( p_sd, "LuaSD script loaded: %s", p_sys->psz_filename );
/* Force garbage collection, because the core will keep the SD
* open, but lua will never gc until lua_close(). */
lua_gc( L, LUA_GCCOLLECT, 0 );
return NULL; return NULL;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment