Skip to content

Commit ad8a5bd

Browse files
davidrohrsawenzel
authored andcommitted
Create DPL AlgorithmSpec Task only in the InitCallback
1 parent d756b9f commit ad8a5bd

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

Framework/Core/include/Framework/Task.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ class Task
6666
template <typename T, typename... Args>
6767
AlgorithmSpec adaptFromTask(Args&&... args)
6868
{
69-
auto task = std::make_shared<T>(std::forward<Args>(args)...);
70-
return AlgorithmSpec::InitCallback{[task](InitContext& ic) {
69+
return AlgorithmSpec::InitCallback{[=](InitContext& ic) {
70+
auto task = std::make_shared<T>(args...);
7171
if constexpr (has_endOfStream<T>::value) {
7272
auto& callbacks = ic.services().get<CallbackService>();
7373
callbacks.set(CallbackService::Id::EndOfStream, [task](EndOfStreamContext& eosContext) {

Utilities/Mergers/include/Mergers/Merger.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Merger : public framework::Task
3838
{
3939
public:
4040
/// \brief Default constructor. It expects merger configuration and subSpec of output channel.
41-
Merger(MergerConfig, header::DataHeader::SubSpecificationType);
41+
Merger(const MergerConfig&, const header::DataHeader::SubSpecificationType&);
4242
/// \brief Default destructor.
4343
~Merger() override = default;
4444

Utilities/Mergers/src/Merger.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ namespace o2
3636
namespace experimental::mergers
3737
{
3838

39-
Merger::Merger(MergerConfig config, header::DataHeader::SubSpecificationType subSpec)
39+
Merger::Merger(const MergerConfig& config, const header::DataHeader::SubSpecificationType& subSpec)
4040
: mConfig(config),
4141
mSubSpec(subSpec),
4242
mCache(config.ownershipMode.value == OwnershipMode::Full)

0 commit comments

Comments
 (0)