Mercurial > hg > orthanc
comparison Core/MultiThreading/RunnableWorkersPool.cpp @ 3786:3801435e34a1 SylvainRouquette/fix-issue169-95b752c
integration Orthanc-1.6.0->SylvainRouquette
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 19 Mar 2020 11:48:30 +0100 |
parents | 2a170a8f1faf |
children |
comparison
equal
deleted
inserted
replaced
3785:763533d6dd67 | 3786:3801435e34a1 |
---|---|
1 /** | 1 /** |
2 * Orthanc - A Lightweight, RESTful DICOM Store | 2 * Orthanc - A Lightweight, RESTful DICOM Store |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | 3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
4 * Department, University Hospital of Liege, Belgium | 4 * Department, University Hospital of Liege, Belgium |
5 * Copyright (C) 2017-2019 Osimis S.A., Belgium | 5 * Copyright (C) 2017-2020 Osimis S.A., Belgium |
6 * | 6 * |
7 * This program is free software: you can redistribute it and/or | 7 * This program is free software: you can redistribute it and/or |
8 * modify it under the terms of the GNU General Public License as | 8 * modify it under the terms of the GNU General Public License as |
9 * published by the Free Software Foundation, either version 3 of the | 9 * published by the Free Software Foundation, either version 3 of the |
10 * License, or (at your option) any later version. | 10 * License, or (at your option) any later version. |
33 | 33 |
34 #include "../PrecompiledHeaders.h" | 34 #include "../PrecompiledHeaders.h" |
35 #include "RunnableWorkersPool.h" | 35 #include "RunnableWorkersPool.h" |
36 | 36 |
37 #include "SharedMessageQueue.h" | 37 #include "SharedMessageQueue.h" |
38 #include "../Compatibility.h" | |
38 #include "../OrthancException.h" | 39 #include "../OrthancException.h" |
39 #include "../Logging.h" | 40 #include "../Logging.h" |
40 | 41 |
41 namespace Orthanc | 42 namespace Orthanc |
42 { | 43 { |
53 { | 54 { |
54 while (that->continue_) | 55 while (that->continue_) |
55 { | 56 { |
56 try | 57 try |
57 { | 58 { |
58 std::auto_ptr<IDynamicObject> obj(that->queue_.Dequeue(100)); | 59 std::unique_ptr<IDynamicObject> obj(that->queue_.Dequeue(100)); |
59 if (obj.get() != NULL) | 60 if (obj.get() != NULL) |
60 { | 61 { |
61 IRunnableBySteps& runnable = *dynamic_cast<IRunnableBySteps*>(obj.get()); | 62 IRunnableBySteps& runnable = *dynamic_cast<IRunnableBySteps*>(obj.get()); |
62 | 63 |
63 bool wishToContinue = runnable.Step(); | 64 bool wishToContinue = runnable.Step(); |