prepare for folly::Executor taking folly::Function
[folly.git] / folly / futures / ManualExecutor.cpp
index 9b5c87f23944c206219cb8a8cc1a9662bc0f45e3..5586afba7953b53b3a21756650d8d2df29e5515b 100644 (file)
@@ -26,7 +26,7 @@ namespace folly {
 
 void ManualExecutor::add(Func callback) {
   std::lock_guard<std::mutex> lock(lock_);
-  funcs_.push(std::move(callback));
+  funcs_.emplace(std::move(callback));
   sem_.post();
 }
 
@@ -42,7 +42,7 @@ size_t ManualExecutor::run() {
       auto& sf = scheduledFuncs_.top();
       if (sf.time > now_)
         break;
-      funcs_.push(sf.func);
+      funcs_.emplace(sf.moveOutFunc());
       scheduledFuncs_.pop();
     }