Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not store any metadata where the user (was) legitimate to write
[simgrid.git] / src / simix / smx_user.c
index 54edf9d..7f48359 100644 (file)
@@ -4,20 +4,11 @@
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
-#ifndef _SVID_SOURCE
-#  define _SVID_SOURCE    /* strdup() */
-#endif
-#ifndef _ISOC99_SOURCE
-#  define _ISOC99_SOURCE  /* isfinite() */
-#endif
-#ifndef _ISO_C99_SOURCE
-#  define _ISO_C99_SOURCE /* isfinite() */
-#endif
-#include <math.h>         /* isfinite() */
 
 #include "smx_private.h"
 #include "mc/mc.h"
 #include "xbt/ex.h"
+#include <math.h>         /* isfinite() */
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix);
 
@@ -1278,7 +1269,7 @@ smx_mutex_t simcall_mutex_init(void)
 {
   if(!simix_global) {
     fprintf(stderr,"You must run MSG_init or gras_init before using MSG or GRAS\n"); // I would have loved using xbt_die but I can't since it is not initialized yet... :)
-    abort();
+    xbt_abort();
   }
   smx_simcall_t simcall = SIMIX_simcall_mine();
 
@@ -1660,6 +1651,20 @@ xbt_dict_t simcall_file_ls(const char* mount, const char* path)
   return simcall->file_ls.result;
 }
 
+/* ****************************************************************************************** */
+/* TUTORIAL: New API                                                                          */
+/* All functions for simcall                                                                  */
+/* ****************************************************************************************** */
+int simcall_new_api_fct(const char* param1, double param2){
+  smx_simcall_t simcall = SIMIX_simcall_mine();
+  simcall->call = SIMCALL_NEW_API_INIT;
+  simcall->new_api.param1 = param1;
+  simcall->new_api.param2 = param2;
+
+  SIMIX_simcall_push(simcall->issuer);
+  return simcall->new_api.result;
+}
+
 /* ************************************************************************** */
 
 /** @brief returns a printable string representing a simcall */