diff --git a/Utilities/XrdAdaptor/plugins/XrdStorageMaker.cc b/Utilities/XrdAdaptor/plugins/XrdStorageMaker.cc index 81e6407691623..d1a95bf3d204e 100644 --- a/Utilities/XrdAdaptor/plugins/XrdStorageMaker.cc +++ b/Utilities/XrdAdaptor/plugins/XrdStorageMaker.cc @@ -16,15 +16,6 @@ #include #include -class MakerResponseHandler : public XrdCl::ResponseHandler { -public: - void HandleResponse(XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) override { - // Note: Prepare call has a response object. - delete response; - delete status; - } -}; - class XrdStorageMaker final : public StorageMaker { public: static const unsigned int XRD_DEFAULT_TIMEOUT = 3 * 60; @@ -77,7 +68,11 @@ class XrdStorageMaker final : public StorageMaker { XrdCl::FileSystem fs(url); std::vector fileList; fileList.push_back(url.GetPath()); - auto status = fs.Prepare(fileList, XrdCl::PrepareFlags::Stage, 0, &m_null_handler); + XrdCl::Buffer *raw_buffer = nullptr; + auto status = fs.Prepare(fileList, XrdCl::PrepareFlags::Stage, 0, raw_buffer); + std::unique_ptr smart_buffer(raw_buffer); + raw_buffer = nullptr; + if (!status.IsOK()) { edm::LogWarning("StageInError") << "XrdCl::FileSystem::Prepare failed with error '" << status.ToStr() << "' (errNo = " << status.errNo << ")"; @@ -173,7 +168,6 @@ class XrdStorageMaker final : public StorageMaker { } private: - CMS_THREAD_SAFE mutable MakerResponseHandler m_null_handler; mutable std::mutex m_envMutex; mutable std::atomic m_lastDebugLevel; mutable std::atomic m_lastTimeout;