Mercurial > hg > orthanc
diff OrthancServer/main.cpp @ 996:cf52f3bcb2b3 lua-scripting
clarification of Lua classes wrt multithreading
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 03 Jul 2014 16:27:16 +0200 |
parents | 83489fddd8c5 |
children | 84b6d7bca6db |
line wrap: on
line diff
--- a/OrthancServer/main.cpp Thu Jul 03 15:58:53 2014 +0200 +++ b/OrthancServer/main.cpp Thu Jul 03 16:27:16 2014 +0200 @@ -186,10 +186,12 @@ { static const char* HTTP_FILTER = "IncomingHttpRequestFilter"; + ServerContext::LuaContextLocker locker(context_); + // Test if the instance must be filtered out - if (context_.GetLuaContext().IsExistingFunction(HTTP_FILTER)) + if (locker.GetLua().IsExistingFunction(HTTP_FILTER)) { - LuaFunctionCall call(context_.GetLuaContext(), HTTP_FILTER); + LuaFunctionCall call(locker.GetLua(), HTTP_FILTER); switch (method) { @@ -371,7 +373,9 @@ LOG(WARNING) << "Installing the Lua scripts from: " << path; std::string script; Toolbox::ReadFile(script, path); - context.GetLuaContext().Execute(script); + + ServerContext::LuaContextLocker locker(context); + locker.GetLua().Execute(script); }