X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa222c38f9b796be07ab4351ffc810a61a8fd705..48eccb2c1532e35819830ca56fad7cf89887359f:/examples/msg/exception/exception.c diff --git a/examples/msg/exception/exception.c b/examples/msg/exception/exception.c index 7073d35ee6..e505e7595b 100644 --- a/examples/msg/exception/exception.c +++ b/examples/msg/exception/exception.c @@ -5,10 +5,8 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "simgrid/msg.h" -#include "xbt.h" -XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test_exception, - "Messages specific for this msg example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test_exception, "Messages specific for this msg example"); /** @addtogroup MSG_examples * @@ -17,12 +15,11 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test_exception, /** Victim. This process gets a lot of remote exceptions */ static int victim(int argc, char *argv[]) { - xbt_ex_t e; msg_error_t res = MSG_OK; XBT_INFO("Let's work."); - TRY { + TRY { res = MSG_task_execute(MSG_task_create("Task", 1e14, 0, NULL)); if (res != MSG_OK) { XBT_INFO("The MSG_task_execute caught the exception for me and returned %d)",res); @@ -36,7 +33,6 @@ static int victim(int argc, char *argv[]) { xbt_ex_free(e); } - XBT_INFO("Let's get suspended."); int gotit = 0; TRY { @@ -51,7 +47,7 @@ static int victim(int argc, char *argv[]) { if(!gotit) { xbt_die("I was expecting an exception during my suspension!"); } - + XBT_INFO("Let's sleep for 10 seconds."); TRY { res = MSG_process_sleep(10); @@ -71,7 +67,6 @@ static int victim(int argc, char *argv[]) { MSG_process_sleep(10); XBT_INFO("That's enough now. I quit."); - return 0; } @@ -89,7 +84,6 @@ static int terrorist(int argc, char *argv[]) XBT_INFO("Send a first exception (host failure)"); SIMIX_process_throw(victim_process, host_error, 0, "First Trick: Let's pretend that the host failed"); - XBT_INFO("Sweet, let's prepare a second trick!"); XBT_INFO("Going to sleep for 2 seconds"); @@ -114,50 +108,14 @@ int main(int argc, char *argv[]) { msg_error_t res = MSG_OK; MSG_init(&argc, argv); - if (argc < 3) { - XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]); - exit(1); - } + xbt_assert(argc == 2, "Usage: %s platform_file\n\tExample: %s msg_platform.xml\n", argv[0], argv[0]); - MSG_function_register("terrorist", terrorist); MSG_create_environment(argv[1]); - MSG_launch_application(argv[2]); - - /* - // Simplistic platform with only one host - sg_platf_begin(); - s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER; - sg_platf_new_AS_begin(&AS); - - s_sg_platf_host_cbarg_t host = SG_PLATF_HOST_INITIALIZER; - host.id = "host0"; - sg_platf_new_host(&host); - - sg_platf_new_AS_end(); - sg_platf_end(); - - // Add one process -- super heavy just to launch an application! - SIMIX_init_application(); - sg_platf_begin(); - - s_sg_platf_process_cbarg_t process = SG_PLATF_PROCESS_INITIALIZER; - process.argc=1; - process.argv = malloc(sizeof(char*)*2); - process.argv[0] = "terrorist"; - process.argv[1] = NULL; - process.host = "host0"; - process.function = "terrorist"; - process.start_time = 0; - sg_platf_new_process(&process); - sg_platf_end(); -*/ + MSG_process_create("terrorist", terrorist, NULL, MSG_get_host_by_name("Jacquelin")); // Launch the simulation res = MSG_main(); XBT_INFO("Simulation time %g", MSG_get_clock()); - if (res == MSG_OK) - return 0; - else - return 1; + return res != MSG_OK; }