#include "src/simix/popping_private.hpp"
#include "src/surf/PropertyHolder.hpp"
#include <boost/intrusive/list.hpp>
+#include <functional>
#include <list>
#include <map>
struct s_smx_process_exit_fun_t {
- int_f_pvoid_pvoid_t fun;
+ std::function<void(int, void*)> fun;
void *arg;
};
void* data = nullptr;
s4u::Host* host = nullptr;
double kill_time = 0.0;
- std::shared_ptr<std::map<std::string, std::string>> properties;
+ std::shared_ptr<std::unordered_map<std::string, std::string>> properties;
bool auto_restart = false;
ProcessArg() = default;
explicit ProcessArg(std::string name, std::function<void()> code, void* data, s4u::Host* host, double kill_time,
- std::shared_ptr<std::map<std::string, std::string>> properties, bool auto_restart)
+ std::shared_ptr<std::unordered_map<std::string, std::string>> properties, bool auto_restart)
: name(name)
, code(std::move(code))
, data(data)
typedef simgrid::kernel::actor::ActorImpl* smx_actor_t;
XBT_PRIVATE smx_actor_t SIMIX_process_create(const char* name, std::function<void()> code, void* data, sg_host_t host,
- std::map<std::string, std::string>* properties,
+ std::unordered_map<std::string, std::string>* properties,
smx_actor_t parent_process);
XBT_PRIVATE void SIMIX_process_runall();