From 0894e7f6db3b5d0b56c7608f88baf4418288174a Mon Sep 17 00:00:00 2001 From: ilue Date: Sat, 22 Dec 2018 03:07:51 +0800 Subject: [PATCH] Fix for preexec_func (#19) --- subprocess.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subprocess.hpp b/subprocess.hpp index dbae2eb..295550e 100755 --- a/subprocess.hpp +++ b/subprocess.hpp @@ -608,7 +608,7 @@ public: preexec_func() {} template - preexec_func(Func f): holder_(new FuncHolder(f)) + preexec_func(Func f): holder_(new FuncHolder(std::move(f))) {} void operator()() { @@ -621,8 +621,8 @@ private: }; template struct FuncHolder: HolderBase { - FuncHolder(T func): func_(func) {} - void operator()() const override {} + FuncHolder(T func): func_(std::move(func)) {} + void operator()() const override { func_(); } // The function pointer/reference T func_; };