X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7a3a100990355eb757dc81106b5aac6daed0b8e1..dfc3b7c81f7e4fec5c8da96745042766dc0da27f:/include/simgrid/simix/blocking_simcall.hpp diff --git a/include/simgrid/simix/blocking_simcall.hpp b/include/simgrid/simix/blocking_simcall.hpp index ccfc8a1e5a..d2c87daeec 100644 --- a/include/simgrid/simix/blocking_simcall.hpp +++ b/include/simgrid/simix/blocking_simcall.hpp @@ -46,8 +46,7 @@ XBT_PUBLIC void unblock(smx_actor_t process); * @return Value of the kernel future * @exception Exception from the kernel future */ -template -auto kernelSync(F code) -> decltype(code().get()) +template auto kernel_sync(F code) -> decltype(code().get()) { typedef decltype(code().get()) T; if (SIMIX_is_maestro()) @@ -60,7 +59,7 @@ auto kernelSync(F code) -> decltype(code().get()) try { auto future = code(); future.then_([&result, self](std::shared_ptr>&& value) { - simgrid::xbt::setPromise(result, simgrid::kernel::Future(value)); + simgrid::xbt::set_promise(result, simgrid::kernel::Future(value)); simgrid::simix::unblock(self); }); } @@ -71,6 +70,11 @@ auto kernelSync(F code) -> decltype(code().get()) }); return result.get(); } +template +XBT_ATTRIB_DEPRECATED_v323("Please use simix::kernel_sync()") auto kernelSync(F code) -> decltype(code().get()) +{ + return kernel_sync(code); +} /** A blocking (`wait()`-based) future for SIMIX processes */ // TODO, .wait_for() @@ -96,7 +100,7 @@ public: // When the kernel future is ready... this->future_.then_([&result, self](std::shared_ptr>&& value) { // ... wake up the process with the result of the kernel future. - simgrid::xbt::setPromise(result, simgrid::kernel::Future(value)); + simgrid::xbt::set_promise(result, simgrid::kernel::Future(value)); simgrid::simix::unblock(self); }); } @@ -146,20 +150,21 @@ private: * @param code SimGrid kernel code which returns a simgrid::kernel::Future * @return Actor future */ -template -auto kernelAsync(F code) - -> Future +template auto kernel_async(F code) -> Future { typedef decltype(code().get()) T; // Execute the code in the kernel and get the kernel future: - simgrid::kernel::Future future = - simgrid::simix::kernelImmediate(std::move(code)); + simgrid::kernel::Future future = simgrid::simix::simcall(std::move(code)); // Wrap the kernel future in a actor future: return simgrid::simix::Future(std::move(future)); } - +template +XBT_ATTRIB_DEPRECATED_v323("Please use simix::kernel_sync()") auto kernelAsync(F code) -> Future +{ + return kernel_async(code); +} } }