From a1a3ef2ef4bf8ea5268deee7a85b23e90a7dd3a2 Mon Sep 17 00:00:00 2001 From: Lucas Schnorr Date: Sun, 22 Jan 2012 18:00:12 +0100 Subject: [PATCH 1/1] [trace] very simple program that creates, executes and destroy a task --- examples/msg/tracing/CMakeLists.txt | 2 ++ examples/msg/tracing/simple.c | 48 +++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 examples/msg/tracing/simple.c diff --git a/examples/msg/tracing/CMakeLists.txt b/examples/msg/tracing/CMakeLists.txt index 2920a74149..3d1d4028f6 100644 --- a/examples/msg/tracing/CMakeLists.txt +++ b/examples/msg/tracing/CMakeLists.txt @@ -6,11 +6,13 @@ set(LIBRARY_OUTPUT_PATH "${CMAKE_HOME_DIRECTORY}/lib") add_executable(ms ${CMAKE_CURRENT_SOURCE_DIR}/ms.c) add_executable(categories ${CMAKE_CURRENT_SOURCE_DIR}/categories.c) add_executable(procmig ${CMAKE_CURRENT_SOURCE_DIR}/procmig.c) +add_executable(simple ${CMAKE_CURRENT_SOURCE_DIR}/simple.c) ### Add definitions for compile target_link_libraries(ms simgrid m ) target_link_libraries(categories simgrid m ) target_link_libraries(procmig simgrid m ) +target_link_libraries(simple simgrid m ) ## Clean generated files get_directory_property(extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) diff --git a/examples/msg/tracing/simple.c b/examples/msg/tracing/simple.c new file mode 100644 index 0000000000..3113c4f7f4 --- /dev/null +++ b/examples/msg/tracing/simple.c @@ -0,0 +1,48 @@ +/* Copyright (c) 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" +#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"); + +/** Emitter function */ +int simple_func(int argc, char *argv[]) +{ + m_task_t task = MSG_task_create("task", 100, 0, NULL); + MSG_task_execute (task); + MSG_task_destroy (task); + return 0; +} + +/** Main function */ +int main(int argc, char *argv[]) +{ + MSG_error_t res = MSG_OK; + + MSG_global_init(&argc, argv); + if (argc < 3) { + printf("Usage: %s platform_file deployment_file\n", argv[0]); + exit(1); + } + + char *platform_file = argv[1]; + char *deployment_file = argv[2]; + MSG_create_environment(platform_file); + + MSG_function_register("master", simple_func); + MSG_function_register("slave", simple_func); + MSG_launch_application(deployment_file); + + MSG_main(); + MSG_clean(); + return 0; +} -- 2.20.1