// conveniently handles the success/failure value for us.
typedef typename std::result_of<F()>::type R;
simgrid::xbt::Result<R> result;
- simcall_run_kernel([&]{
- simgrid::xbt::fulfillPromise(result, std::forward<F>(code));
- });
+ simcall_run_kernel([&] { simgrid::xbt::fulfill_promise(result, std::forward<F>(code)); });
return result.get();
}
XBT_PUBLIC void register_function(const char* name, ActorCodeFactory factory);
-/** These functions will be called when we detect a deadlock: any remaining process is locked on an action
- *
- * If these functions manage to unlock some of the processes, then the deadlock will be avoided.
- */
-XBT_PUBLIC_DATA simgrid::xbt::signal<void()> onDeadlock;
}
}