-/* Copyright (c) 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2009-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include <stdio.h>
#include <stdlib.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "simgrid/msg.h" /* Yeah! If you want to use msg, you need to include simgrid/msg.h */
#include "simgrid/simix.h" /* semaphores for the barrier */
#include "xbt.h" /* calloc, printf */
-#include "instr/instr_private.h"
#include <xbt/replay.h>
/** @addtogroup MSG_examples
sprintf(to, "%s_%s", MSG_process_get_name(MSG_process_self()), action[2]);
- ACT_DEBUG("Entering Send: %s (size: %lg)", NAME, size);
+ ACT_DEBUG("Entering Send: %s (size: %g)", NAME, size);
if (size < 65536) {
action_Isend(action);
} else {
processes_arrived_sofar--;
if (!processes_arrived_sofar) {
- simcall_cond_destroy(cond);
- simcall_mutex_destroy(mutex);
+ SIMIX_cond_destroy(cond);
+ SIMIX_mutex_destroy(mutex);
mutex = NULL;
}
}
static void action_compute(const char *const *action)
{
- const char *amout = action[2];
- msg_task_t task = MSG_task_create("task", parse_double(amout), 0, NULL);
+ const char *amount = action[2];
+ msg_task_t task = MSG_task_create("task", parse_double(amount), 0, NULL);
double clock = MSG_get_clock();
ACT_DEBUG("Entering %s", NAME);
/* Check the given arguments */
MSG_init(&argc, argv);
- if (argc < 3) {
- printf("Usage: %s platform_file deployment_file [action_files]\n", argv[0]);
- printf
- ("example: %s msg_platform.xml msg_deployment.xml actions # if all actions are in the same file\n",
- argv[0]);
- printf
- ("example: %s msg_platform.xml msg_deployment.xml # if actions are in separate files, specified in deployment\n",
- argv[0]);
- exit(1);
- }
+ /* Explicit initialization of the action module is required now*/
+ MSG_action_init();
+
+ xbt_assert(argc > 2,
+ "Usage: %s platform_file deployment_file [action_files]\n"
+ "\t# if all actions are in the same file\n"
+ "\tExample: %s msg_platform.xml msg_deployment.xml actions\n"
+ "\t# if actions are in separate files, specified in deployment\n"
+ "\tExample: %s msg_platform.xml msg_deployment.xml ",
+ argv[0],argv[0],argv[0]);
+
printf("WARNING: THIS BINARY IS KINDA DEPRECATED\n"
"This example is still relevant if you want to learn about MSG-based trace replay, "
"but if you want to simulate MPI-like traces, you should use the newer version "
XBT_INFO("Simulation time %g", MSG_get_clock());
- if (res == MSG_OK)
- return 0;
- else
- return 1;
+ /* Explicit finalization of the action module is required now*/
+ MSG_action_exit();
+
+ return res != MSG_OK;
} /* end_of_main */