Mercurial > hg > orthanc
comparison OrthancServer/LuaScripting.cpp @ 1456:68827c07e683
fix recursive calls with Lua
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 02 Jul 2015 15:44:24 +0200 |
parents | a68545767975 |
children | 905842836ad4 |
comparison
equal
deleted
inserted
replaced
1455:a68545767975 | 1456:68827c07e683 |
---|---|
388 | 388 |
389 void LuaScripting::SignalStoredInstance(const std::string& publicId, | 389 void LuaScripting::SignalStoredInstance(const std::string& publicId, |
390 DicomInstanceToStore& instance, | 390 DicomInstanceToStore& instance, |
391 const Json::Value& simplifiedTags) | 391 const Json::Value& simplifiedTags) |
392 { | 392 { |
393 boost::mutex::scoped_lock lock(mutex_); | 393 boost::recursive_mutex::scoped_lock lock(mutex_); |
394 | 394 |
395 Json::Value metadata = Json::objectValue; | 395 Json::Value metadata = Json::objectValue; |
396 | 396 |
397 for (ServerIndex::MetadataMap::const_iterator | 397 for (ServerIndex::MetadataMap::const_iterator |
398 it = instance.GetMetadata().begin(); | 398 it = instance.GetMetadata().begin(); |
435 | 435 |
436 Json::Value tags, metadata; | 436 Json::Value tags, metadata; |
437 if (context_.GetIndex().LookupResource(tags, change.GetPublicId(), change.GetResourceType()) && | 437 if (context_.GetIndex().LookupResource(tags, change.GetPublicId(), change.GetResourceType()) && |
438 context_.GetIndex().GetMetadata(metadata, change.GetPublicId())) | 438 context_.GetIndex().GetMetadata(metadata, change.GetPublicId())) |
439 { | 439 { |
440 boost::mutex::scoped_lock lock(mutex_); | 440 boost::recursive_mutex::scoped_lock lock(mutex_); |
441 | 441 |
442 if (lua_.IsExistingFunction(name)) | 442 if (lua_.IsExistingFunction(name)) |
443 { | 443 { |
444 InitializeJob(); | 444 InitializeJob(); |
445 | 445 |
470 bool LuaScripting::FilterIncomingInstance(const Json::Value& simplified, | 470 bool LuaScripting::FilterIncomingInstance(const Json::Value& simplified, |
471 const std::string& remoteAet) | 471 const std::string& remoteAet) |
472 { | 472 { |
473 static const char* NAME = "ReceivedInstanceFilter"; | 473 static const char* NAME = "ReceivedInstanceFilter"; |
474 | 474 |
475 boost::mutex::scoped_lock lock(mutex_); | 475 boost::recursive_mutex::scoped_lock lock(mutex_); |
476 | 476 |
477 if (lua_.IsExistingFunction(NAME)) | 477 if (lua_.IsExistingFunction(NAME)) |
478 { | 478 { |
479 LuaFunctionCall call(lua_, NAME); | 479 LuaFunctionCall call(lua_, NAME); |
480 call.PushJson(simplified); | 480 call.PushJson(simplified); |