]> git.sesse.net Git - vlc/commitdiff
luahttp: fix scope of url handler variables
authorPierre Ynard <linkfanel@yahoo.fr>
Thu, 17 May 2012 22:05:02 +0000 (00:05 +0200)
committerPierre Ynard <linkfanel@yahoo.fr>
Thu, 17 May 2012 22:05:02 +0000 (00:05 +0200)
The url handlers were declared with local scope, meaning local to the
lua script file I assume. Since the interface doesn't wait at the end
of the lua script anymore, they would fall out of scope after interface
initialization. Then, when the interface was first accessed, garbage
collection was somehow triggered, unregistering all url callbacks,
incidentally triggering a deadlock.

Fixes #6673

share/lua/intf/http.lua

index 65f28520b84f7d9810392d580f3bbe09521e2f90..47e965150c70616443fbeddb33b2ecab72635ed8 100644 (file)
@@ -38,7 +38,7 @@ open_tag = "<?vlc"
 close_tag = "?>"
 
 -- TODO: use internal VLC mime lookup function for mimes not included here
-local mimes = {
+mimes = {
     txt = "text/plain",
     json = "text/plain",
     html = "text/html",
@@ -277,7 +277,7 @@ do
     end
     package.path = oldpath
 end
-local files = {}
+files = {}
 local function load_dir(dir,root)
     local root = root or "/"
     local has_index = false
@@ -321,4 +321,4 @@ end
 password = vlc.var.inherit(nil,"http-password")
 h = vlc.httpd()
 load_dir( http_dir )
-local a = h:handler("/art",nil,password,callback_art,nil)
+a = h:handler("/art",nil,password,callback_art,nil)