X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cb47fb240292d0cb5f2662be653d3a50f4f96972..0afab0e550e09d35a4aaaae802c7f2ea17d2b860:/examples/msg/priority/priority.c diff --git a/examples/msg/priority/priority.c b/examples/msg/priority/priority.c index 135c2b7f55..f82d13207d 100644 --- a/examples/msg/priority/priority.c +++ b/examples/msg/priority/priority.c @@ -1,77 +1,91 @@ -/* $Id$ */ - -/* Copyright (c) 2002,2003,2004 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. + * All rights reserved. */ /* 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. */ #include -#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */ -#include "xbt/sysdep.h" /* calloc, printf */ +#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */ +#include "xbt/sysdep.h" /* calloc, printf */ /* Create a log channel to have nice outputs. */ #include "xbt/log.h" #include "xbt/asserts.h" -XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, + "Messages specific for this msg example"); + +/** @addtogroup MSG_examples + * + * - priority/priority.c: Demonstrates the use of @ref + * MSG_task_set_priority to change the computation priority of a + * given task. + * + */ static int test(int argc, char *argv[]) { double computation_amount = 0.0; double priority = 1.0; - m_task_t task = NULL; + msg_task_t task = NULL; + _XBT_GNUC_UNUSED int res = sscanf(argv[1], "%lg", &computation_amount); + xbt_assert(res, "Invalid argument %s\n", argv[1]); + res = sscanf(argv[2], "%lg", &priority); + xbt_assert(res, "Invalid argument %s\n", argv[2]); - xbt_assert1(sscanf(argv[1],"%lg", &computation_amount), - "Invalid argument %s\n",argv[1]); - xbt_assert1(sscanf(argv[2],"%lg", &priority), - "Invalid argument %s\n",argv[2]); - - INFO2("Hello! Running a task of size %g with priority %g", - computation_amount, priority); - task = MSG_task_create("Task", computation_amount, 0.0,NULL); + XBT_INFO("Hello! Running a task of size %g with priority %g", + computation_amount, priority); + task = MSG_task_create("Task", computation_amount, 0.0, NULL); MSG_task_set_priority(task, priority); MSG_task_execute(task); + MSG_task_destroy(task); - - INFO0("Goodbye now!"); + XBT_INFO("Goodbye now!"); return 0; -} +} -static MSG_error_t test_all(const char *platform_file, - const char *application_file) +static msg_error_t test_all(const char *platform_file, + const char *application_file) { - MSG_error_t res = MSG_OK; + msg_error_t res = MSG_OK; - { /* Simulation setting */ - MSG_set_channel_number(1); - MSG_paje_output("msg_test.trace"); + { /* Simulation setting */ MSG_create_environment(platform_file); } - { /* Application deployment */ + { /* Application deployment */ MSG_function_register("test", test); MSG_launch_application(application_file); } res = MSG_main(); - - INFO1("Simulation time %g",MSG_get_clock()); + + XBT_INFO("Simulation time %g", MSG_get_clock()); return res; } int main(int argc, char *argv[]) { - MSG_error_t res = MSG_OK; + msg_error_t res = MSG_OK; + +#ifdef _MSC_VER + unsigned int prev_exponent_format = + _set_output_format(_TWO_DIGIT_EXPONENT); +#endif - MSG_global_init(&argc,argv); + + MSG_init(&argc, argv); if (argc < 3) { - printf ("Usage: %s platform_file deployment_file\n",argv[0]); - printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]); - exit(1); + printf("Usage: %s platform_file deployment_file\n", argv[0]); + printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]); + exit(1); } - res = test_all(argv[1],argv[2]); - MSG_clean(); + res = test_all(argv[1], argv[2]); + +#ifdef _MSC_VER + _set_output_format(prev_exponent_format); +#endif - if(res==MSG_OK) + if (res == MSG_OK) return 0; else return 1;