Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
First bricks for auto_restart support in SIMIX/MSG.
[simgrid.git] / src / simix / smx_smurf_private.h
index dbf4d2c..3fe6281 100644 (file)
@@ -45,6 +45,8 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_GET_NAME),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_IS_SUSPENDED),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_GET_PROPERTIES),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_SLEEP),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_ON_EXIT),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_AUTO_RESTART_SET),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_CREATE),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_DESTROY),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_GEY_BY_NAME),\
@@ -223,9 +225,11 @@ typedef struct s_smx_simcall {
       xbt_main_func_t code;
       void *data;
       const char *hostname;
+      double kill_time;
       int argc;
       char **argv;
       xbt_dict_t properties;
+      int auto_restart;
     } process_create;
 
     struct {
@@ -288,6 +292,17 @@ typedef struct s_smx_simcall {
       e_smx_state_t result;
     } process_sleep;
 
+    struct {
+      smx_process_t process;
+      int_f_pvoid_t fun;
+      void *data;
+    } process_on_exit;
+
+    struct {
+      smx_process_t process;
+      int auto_restart;
+    } process_auto_restart;
+
     struct {
       const char *name;
       smx_rdv_t result;
@@ -508,16 +523,14 @@ typedef struct s_smx_simcall {
     } sem_get_capacity;
 
     struct {
-      const char* storage;
       void *ptr;
       size_t size;
       size_t nmemb;
       smx_file_t stream;
-      size_t result;
+      double result;
     } file_read;
 
     struct {
-      const char* storage;
       const void *ptr;
       size_t size;
       size_t nmemb;
@@ -526,20 +539,18 @@ typedef struct s_smx_simcall {
     } file_write;
 
     struct {
-      const char* storage;
+      const char* mount;
       const char* path;
       const char* mode;
       smx_file_t result;
     } file_open;
 
     struct {
-      const char* storage;
       smx_file_t fp;
       int result;
     } file_close;
 
     struct {
-      const char* storage;
       smx_file_t fd;
       s_file_stat_t buf;
       int result;