comparison OrthancServer/OrthancRestApi/OrthancRestArchive.cpp @ 3181:6fd38327e777

Fix issue #130 (Orthanc failed to start when /tmp partition was full)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 31 Jan 2019 15:33:27 +0100
parents 5cf29046c159
children e44e0127e553
comparison
equal deleted inserted replaced
3180:07a2f637b76d 3181:6fd38327e777
35 #include "OrthancRestApi.h" 35 #include "OrthancRestApi.h"
36 36
37 #include "../../Core/HttpServer/FilesystemHttpSender.h" 37 #include "../../Core/HttpServer/FilesystemHttpSender.h"
38 #include "../../Core/OrthancException.h" 38 #include "../../Core/OrthancException.h"
39 #include "../../Core/SerializationToolbox.h" 39 #include "../../Core/SerializationToolbox.h"
40 #include "../OrthancConfiguration.h"
40 #include "../ServerContext.h" 41 #include "../ServerContext.h"
41 #include "../ServerJobs/ArchiveJob.h" 42 #include "../ServerJobs/ArchiveJob.h"
42 43
43 44
44 namespace Orthanc 45 namespace Orthanc
134 135
135 job->SetDescription("REST API"); 136 job->SetDescription("REST API");
136 137
137 if (synchronous) 138 if (synchronous)
138 { 139 {
139 boost::shared_ptr<TemporaryFile> tmp(new TemporaryFile); 140 boost::shared_ptr<TemporaryFile> tmp;
141
142 {
143 OrthancConfiguration::ReaderLock lock;
144 tmp.reset(lock.GetConfiguration().CreateTemporaryFile());
145 }
146
140 job->SetSynchronousTarget(tmp); 147 job->SetSynchronousTarget(tmp);
141 148
142 Json::Value publicContent; 149 Json::Value publicContent;
143 if (context.GetJobsEngine().GetRegistry().SubmitAndWait 150 if (context.GetJobsEngine().GetRegistry().SubmitAndWait
144 (publicContent, job.release(), priority)) 151 (publicContent, job.release(), priority))