# HG changeset patch # User Sebastien Jodogne # Date 1611250026 -3600 # Node ID 46fe70776d610050a699af8db499587ab02f3293 # Parent 23f3099bed4712f3dd08cf78dbe066c1aff9e283 Fix possible deadlock with "orthanc.RegisterOnChangeCallback()" diff -r 23f3099bed47 -r 46fe70776d61 NEWS --- a/NEWS Wed Jan 06 18:17:53 2021 +0100 +++ b/NEWS Thu Jan 21 18:27:06 2021 +0100 @@ -1,6 +1,8 @@ Pending changes in the mainline =============================== +* Fix possible deadlock with "orthanc.RegisterOnChangeCallback()" + Version 3.0 (2020-12-09) ======================== diff -r 23f3099bed47 -r 46fe70776d61 Sources/OnChangeCallback.cpp --- a/Sources/OnChangeCallback.cpp Wed Jan 06 18:17:53 2021 +0100 +++ b/Sources/OnChangeCallback.cpp Thu Jan 21 18:27:06 2021 +0100 @@ -70,6 +70,8 @@ +// This corresponds to a simplified, standalone version of +// "Orthanc::SharedMessageQueue" from the Orthanc framework class PendingChanges : public boost::noncopyable { private: @@ -181,11 +183,7 @@ OrthancPluginResourceType resourceType, const char* resourceId) { - { - PythonLock lock; - pendingChanges_.Enqueue(changeType, resourceType, resourceId); - } - + pendingChanges_.Enqueue(changeType, resourceType, resourceId); return OrthancPluginErrorCode_Success; }