Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
_XBT_CALL decoration for inthandler function (signal function neeed this in win32)
[simgrid.git] / src / msg / global.c
index 024d26c..9d4e7ec 100644 (file)
@@ -54,6 +54,10 @@ void MSG_global_init(int *argc, char **argv)
     msg_global->current_process = NULL;
     msg_global->registered_functions = xbt_dict_new();
     msg_global->PID = 1;
+    msg_global->task_mallocator = xbt_mallocator_new(256,
+                                                    (pvoid_f_void_t*) task_mallocator_new_f,
+                                                    (void_f_pvoid_t*) task_mallocator_free_f,
+                                                    (void_f_pvoid_t*) task_mallocator_reset_f);
   }
 }
 
@@ -63,30 +67,17 @@ void MSG_global_init(int *argc, char **argv)
 void MSG_paje_output(const char *filename)
 {
   int i;
-  const char *paje_preembule="%EventDef        SetLimits       0\n"
-    "% StartTime       date\n"
-    "% EndTime date\n"
-    "%EndEventDef\n"
+  const char *paje_preembule=
     "%EventDef PajeDefineContainerType 1\n"
     "% NewType string\n"
     "% ContainerType   string\n"
     "% NewName string\n"
     "%EndEventDef\n"
-    "%EventDef PajeDefineEventType     2\n"
-    "% NewType string\n"
-    "% ContainerType   string\n"
-    "% NewName string\n"
-    "%EndEventDef\n"
     "%EventDef PajeDefineStateType     3\n"
     "% NewType string\n"
     "% ContainerType   string\n"
     "% NewName string\n"
     "%EndEventDef\n"
-    "%EventDef PajeDefineVariableType  4\n"
-    "% NewType string\n"
-    "% ContainerType   string\n"
-    "% NewName string\n"
-    "%EndEventDef\n"
     "%EventDef PajeDefineLinkType      5\n"
     "% NewType string\n"
     "% ContainerType   string\n"
@@ -111,34 +102,12 @@ void MSG_paje_output(const char *filename)
     "% Name    string\n"
     "% Type    string\n"
     "%EndEventDef\n"
-    "%EventDef PajeNewEvent    9\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   string\n"
-    "%EndEventDef\n"
     "%EventDef PajeSetState    10\n"
     "% Time    date\n"
     "% EntityType      string\n"
     "% Container       string\n"
     "% Value   string\n"
     "%EndEventDef\n"
-    "%EventDef PajeSetState    101\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   string\n"
-    "% FileName        string\n"
-    "% LineNumber      int\n"
-    "%EndEventDef\n"
-    "%EventDef PajePushState   111\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   string\n"
-    "% FileName        string\n"
-    "% LineNumber      int\n"
-    "%EndEventDef\n"
     "%EventDef PajePushState   11\n"
     "% Time    date\n"
     "% EntityType      string\n"
@@ -151,24 +120,6 @@ void MSG_paje_output(const char *filename)
     "% EntityType      string\n"
     "% Container       string\n"
     "%EndEventDef\n"
-    "%EventDef PajeSetVariable 13\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   double\n"
-    "%EndEventDef\n"
-    "%EventDef PajeAddVariable 14\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   double\n"
-    "%EndEventDef\n"
-    "%EventDef PajeSubVariable 15\n"
-    "% Time    date\n"
-    "% EntityType      string\n"
-    "% Container       string\n"
-    "% Value   double\n"
-    "%EndEventDef\n"
     "%EventDef PajeStartLink   16\n"
     "% Time    date\n"
     "% EntityType      string\n"
@@ -340,7 +291,7 @@ void __MSG_display_process_status(void)
 /* FIXME: Yeah, I'll do it in a portable maner one day [Mt] */
 #include <signal.h>
 
-static void inthandler(int ignored)
+static void _XBT_CALL inthandler(int ignored)
 {
    INFO0("CTRL-C pressed. Displaying status and bailing out");
    __MSG_display_process_status();
@@ -472,7 +423,7 @@ MSG_error_t MSG_main(void)
   }
 
   if (xbt_fifo_size(msg_global->process_list) == 0) {
-    INFO0("Congratulations ! Simulation terminated : all process are over");
+    INFO0("Congratulations ! Simulation terminated : all processes are over");
     return MSG_OK;
   } else {
     INFO0("Oops ! Deadlock or code not perfectly clean.");
@@ -540,6 +491,7 @@ MSG_error_t MSG_clean(void)
   xbt_fifo_free(msg_global->process_to_run);
   xbt_fifo_free(msg_global->process_list);
   xbt_dict_free(&(msg_global->registered_functions));
+  xbt_mallocator_free(msg_global->task_mallocator);
 
   if(msg_global->paje_output) {
     fclose(msg_global->paje_output);