msg_global = xbt_new0(s_MSG_Global_t,1);
- xbt_context_init();
msg_global->host = xbt_fifo_new();
msg_global->process_to_run = xbt_fifo_new();
msg_global->process_list = xbt_fifo_new();
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);
}
}
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"
"% 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"
"% 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"
/* 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();
while((p=xbt_fifo_pop(msg_global->process_list))) {
MSG_process_kill(p);
}
- xbt_context_exit();
xbt_fifo_foreach(msg_global->host,i,h,m_host_t) {
__MSG_host_destroy(h);
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);