#ifndef _SIMIX_ACTORIMPL_H
#define _SIMIX_ACTORIMPL_H
-#include <atomic>
-#include <functional>
-#include <string>
-
-#include <xbt/base.h>
-#include <xbt/string.hpp>
-
-#include <simgrid/simix.hpp>
-#include <simgrid/s4u/Actor.hpp>
-
-#include "simgrid/simix.h"
-#include "popping_private.h"
+#include "simgrid/s4u/Actor.hpp"
+#include "src/simix/popping_private.h"
+#include "xbt/fifo.h"
+#include "xbt/swag.h"
typedef struct s_smx_process_exit_fun {
int_f_pvoid_pvoid_t fun;
unsigned long pid = 0;
unsigned long ppid = 0;
simgrid::xbt::string name;
+ const char* cname() { return name.c_str(); }
sg_host_t host = nullptr; /* the host on which the process is running */
smx_context_t context = nullptr; /* the context (uctx/raw/thread) that executes the user function */
std::function<void()> code,
void *data,
sg_host_t host,
- double kill_time,
xbt_dict_t properties,
- int auto_restart,
smx_actor_t parent_process);
XBT_PRIVATE void SIMIX_process_runall();
XBT_PRIVATE void SIMIX_process_kill(smx_actor_t process, smx_actor_t issuer);
XBT_PRIVATE void SIMIX_process_killall(smx_actor_t issuer, int reset_pid);
-XBT_PRIVATE void SIMIX_process_stop(smx_actor_t arg);
XBT_PRIVATE void SIMIX_process_cleanup(smx_actor_t arg);
XBT_PRIVATE void SIMIX_process_empty_trash();
XBT_PRIVATE void SIMIX_process_yield(smx_actor_t self);
XBT_PRIVATE smx_activity_t SIMIX_process_suspend(smx_actor_t process, smx_actor_t issuer);
XBT_PRIVATE void SIMIX_process_resume(smx_actor_t process);
XBT_PRIVATE int SIMIX_process_get_PID(smx_actor_t self);
-XBT_PRIVATE void* SIMIX_process_get_data(smx_actor_t process);
XBT_PRIVATE void SIMIX_process_set_data(smx_actor_t process, void *data);
XBT_PRIVATE smx_actor_t SIMIX_process_get_by_name(const char* name);
XBT_PRIVATE int SIMIX_process_is_suspended(smx_actor_t process);