Mercurial > hg > orthanc
diff OrthancServer/LuaScripting.h @ 2738:3a55b77339ff
fix deadlock in Lua scripts
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 16 Jul 2018 11:19:30 +0200 |
parents | 3fc310ceb6d4 |
children | a27b0e9a3fd9 |
line wrap: on
line diff
--- a/OrthancServer/LuaScripting.h Sun Jul 15 16:41:43 2018 +0200 +++ b/OrthancServer/LuaScripting.h Mon Jul 16 11:19:30 2018 +0200 @@ -33,8 +33,7 @@ #pragma once -#include "IServerListener.h" - +#include "DicomInstanceToStore.h" #include "ServerJobs/LuaJobManager.h" #include "../Core/MultiThreading/SharedMessageQueue.h" @@ -44,7 +43,7 @@ { class ServerContext; - class LuaScripting : public IServerListener + class LuaScripting : public boost::noncopyable { private: enum State @@ -88,6 +87,8 @@ static void EventThread(LuaScripting* that); + void LoadGlobalConfiguration(); + public: class Lock : public boost::noncopyable { @@ -116,19 +117,17 @@ void Stop(); - virtual void SignalStoredInstance(const std::string& publicId, - DicomInstanceToStore& instance, - const Json::Value& simplifiedTags); + void SignalStoredInstance(const std::string& publicId, + DicomInstanceToStore& instance, + const Json::Value& simplifiedTags); - virtual void SignalChange(const ServerIndexChange& change); + void SignalChange(const ServerIndexChange& change); - virtual bool FilterIncomingInstance(const DicomInstanceToStore& instance, - const Json::Value& simplifiedTags); + bool FilterIncomingInstance(const DicomInstanceToStore& instance, + const Json::Value& simplifiedTags); void Execute(const std::string& command); - void LoadGlobalConfiguration(); - void SignalJobSubmitted(const std::string& jobId); void SignalJobSuccess(const std::string& jobId);