From 42ad1e118f005d56af6f9e87d7ecec75bb311108 Mon Sep 17 00:00:00 2001 From: mquinson Date: Mon, 13 Jul 2009 18:04:15 +0000 Subject: [PATCH] Lots of renamings from xbt_ to smx_ git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6497 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/Makefile.am | 12 +- src/simix/private.h | 335 +++++++++--------- src/simix/{xbt_context.c => smx_context.c} | 21 +- ...{xbt_context_java.c => smx_context_java.c} | 0 ...{xbt_context_java.h => smx_context_java.h} | 0 ...ontext_private.h => smx_context_private.h} | 8 +- ...{xbt_context_sysv.c => smx_context_sysv.c} | 38 +- ..._context_thread.c => smx_context_thread.c} | 0 src/simix/smx_global.c | 6 +- src/simix/smx_process.c | 1 - 10 files changed, 215 insertions(+), 206 deletions(-) rename src/simix/{xbt_context.c => smx_context.c} (91%) rename src/simix/{xbt_context_java.c => smx_context_java.c} (100%) rename src/simix/{xbt_context_java.h => smx_context_java.h} (100%) rename src/simix/{xbt_context_private.h => smx_context_private.h} (96%) rename src/simix/{xbt_context_sysv.c => smx_context_sysv.c} (88%) rename src/simix/{xbt_context_thread.c => smx_context_thread.c} (100%) diff --git a/src/Makefile.am b/src/Makefile.am index e5868bc2b4..fd675c7a08 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -77,8 +77,8 @@ EXTRA_DIST= \ include/simix/simix.h include/simix/datatypes.h \ include/simix/context.h \ simix/private.h \ - simix/xbt_context_private.h \ - simix/xbt_context_java.h \ + simix/smx_context_private.h \ + simix/smx_context_java.h \ \ smpi/private.h \ smpi/smpi_coll_private.h \ @@ -196,7 +196,7 @@ GTNETS_SRC= \ # Separated because src/gras/rl_stubs also define the function xbt_context_mod_init() and xbt_context_mod_exit() # so there is an implementation of these functions in the simgrid library and an implementatin in the gras library -CTX_SRC= simix/xbt_context.c +CTX_SRC= simix/smx_context.c SIMIX_SRC= \ simix/smx_global.c \ @@ -208,9 +208,9 @@ SIMIX_SRC= \ simix/smx_synchro.c if CONTEXT_THREADS - SURF_SRC += simix/xbt_context_thread.c + SURF_SRC += simix/smx_context_thread.c else - SURF_SRC += simix/xbt_context_sysv.c + SURF_SRC += simix/smx_context_sysv.c endif SMPI_SRC= \ @@ -229,7 +229,7 @@ MSG_SRC= msg/msg_config.c \ msg/msg_actions.c JMSG_C_SRC = \ - simix/xbt_context_java.c \ + simix/smx_context_java.c \ java/jxbt_utilities.c java/jxbt_utilities.h \ java/jmsg.c java/jmsg.h \ java/jmsg_channel.c java/jmsg_channel.h \ diff --git a/src/simix/private.h b/src/simix/private.h index 202f3f4579..9151438b38 100644 --- a/src/simix/private.h +++ b/src/simix/private.h @@ -1,161 +1,174 @@ -/* $Id$ */ - -/* Copyright (c) 2007 Arnaud Legrand, Bruno Donnassolo. - 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. */ - -#ifndef SIMIX_PRIVATE_H -#define SIMIX_PRIVATE_H - -#include -#include "simix/simix.h" -#include "surf/surf.h" -#include "xbt/fifo.h" -#include "xbt/swag.h" -#include "xbt/dict.h" -#include "xbt/config.h" -#include "xbt/function_types.h" - -/******************************** Datatypes ***********************************/ - - -/*********************************** Host *************************************/ - -/** @brief Host datatype - @ingroup m_datatypes_management_details */ -typedef struct s_smx_host { - char *name; /**< @brief host name if any */ - void *host; /* SURF modeling */ - xbt_swag_t process_list; - void *data; /**< @brief user data */ -} s_smx_host_t; - -/********************************** Simix Global ******************************/ - -typedef struct s_smx_context_factory *smx_context_factory_t; - -typedef struct SIMIX_Global { - smx_context_factory_t context_factory; - xbt_dict_t host; - xbt_swag_t process_to_run; - xbt_swag_t process_list; - xbt_swag_t process_to_destroy; - smx_process_t current_process; - smx_process_t maestro_process; - xbt_dict_t registered_functions; - smx_creation_func_t create_process_function; - void_f_pvoid_t kill_process_function; - void_f_pvoid_t cleanup_process_function; -} s_SIMIX_Global_t, *SIMIX_Global_t; - -extern SIMIX_Global_t simix_global; - -/******************************** Process *************************************/ - -typedef struct s_xbt_context *xbt_context_t; - -/** @brief Process datatype - @ingroup m_datatypes_management_details @{ */ - typedef struct s_smx_process { - s_xbt_swag_hookup_t process_hookup; - s_xbt_swag_hookup_t synchro_hookup; - s_xbt_swag_hookup_t host_proc_hookup; - s_xbt_swag_hookup_t destroy_hookup; - - char *name; /**< @brief process name if any */ - smx_host_t smx_host; /* the host on which the process is running */ - xbt_context_t context; /* the context that executes the scheduler function */ - int argc; /* arguments number if any */ - char **argv; /* arguments table if any */ - int blocked : 1; - int suspended : 1; - int iwannadie : 1; - smx_mutex_t mutex; /* mutex on which the process is blocked */ - smx_cond_t cond; /* cond on which the process is blocked */ - xbt_dict_t properties; - void *data; /* kept for compatibility, it should be replaced with moddata */ - void_f_pvoid_t cleanup_func; - void *cleanup_arg; - - } s_smx_process_t; -/** @} */ - -typedef struct s_smx_process_arg { - const char *name; - xbt_main_func_t code; - void *data; - char *hostname; - int argc; - char **argv; - double kill_time; - xbt_dict_t properties; -} s_smx_process_arg_t, *smx_process_arg_t; - -/*************************** Mutex and Conditional ****************************/ - -typedef struct s_smx_mutex { - - /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */ - xbt_swag_t sleeping; /* list of sleeping process */ - int refcount; - /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */ - -} s_smx_mutex_t; - -typedef struct s_smx_cond { - - /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */ - xbt_swag_t sleeping; /* list of sleeping process */ - smx_mutex_t mutex; - xbt_fifo_t actions; /* list of actions */ - /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */ - -} s_smx_cond_t; - -/********************************* Action *************************************/ - -/** @brief Action datatype - @ingroup m_datatypes_management_details */ -typedef struct s_smx_action { - char *name; /**< @brief action name if any */ - xbt_fifo_t cond_list; /*< conditional variables that must be signaled when the action finish. */ - void *data; /**< @brief user data */ - int refcount; /**< @brief reference counter */ - surf_action_t surf_action; /* SURF modeling of computation */ - smx_host_t source; -} s_smx_action_t; - -/******************************* Other **********************************/ - - -#define SIMIX_CHECK_HOST() xbt_assert0(surf_workstation_model->extension.workstation. \ - get_state(SIMIX_host_self()->host)==SURF_RESOURCE_ON,\ - "Host failed, you cannot call this function.") - -smx_host_t __SIMIX_host_create(const char *name, void *workstation, void *data); -void __SIMIX_host_destroy(void *host); -void __SIMIX_cond_wait(smx_cond_t cond); -void __SIMIX_cond_display_actions(smx_cond_t cond); -void __SIMIX_action_display_conditions(smx_action_t action); -void __SIMIX_create_maestro_process(void); - -/******************************** Context *************************************/ - -int SIMIX_context_create_maestro(smx_process_t *process); - -int SIMIX_context_new(smx_process_t *process, xbt_main_func_t code); - void SIMIX_context_kill(smx_process_t process); - void SIMIX_context_start(smx_process_t process); - void SIMIX_context_yield(void); - void SIMIX_context_schedule(smx_process_t process); - void SIMIX_context_empty_trash(void); - -void SIMIX_context_stop(int exit_code); - void SIMIX_context_free(smx_process_t process); - -void SIMIX_context_mod_init(void); - -void SIMIX_context_mod_exit(void); -#endif +/* $Id$ */ + +/* Copyright (c) 2007 Arnaud Legrand, Bruno Donnassolo. + 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. */ + +#ifndef SIMIX_PRIVATE_H +#define SIMIX_PRIVATE_H + +#include +#include "simix/simix.h" +#include "surf/surf.h" +#include "xbt/fifo.h" +#include "xbt/swag.h" +#include "xbt/dict.h" +#include "xbt/config.h" +#include "xbt/function_types.h" + +/******************************** Datatypes ***********************************/ + + +/*********************************** Host *************************************/ + +/** @brief Host datatype + @ingroup m_datatypes_management_details */ +typedef struct s_smx_host { + char *name; /**< @brief host name if any */ + void *host; /* SURF modeling */ + xbt_swag_t process_list; + void *data; /**< @brief user data */ +} s_smx_host_t; + +/********************************** Simix Global ******************************/ + +typedef struct s_smx_context_factory *smx_context_factory_t; + +typedef struct SIMIX_Global { + smx_context_factory_t context_factory; + xbt_dict_t host; + xbt_swag_t process_to_run; + xbt_swag_t process_list; + xbt_swag_t process_to_destroy; + smx_process_t current_process; + smx_process_t maestro_process; + xbt_dict_t registered_functions; + smx_creation_func_t create_process_function; + void_f_pvoid_t kill_process_function; + void_f_pvoid_t cleanup_process_function; +} s_SIMIX_Global_t, *SIMIX_Global_t; + +extern SIMIX_Global_t simix_global; + +/******************************** Process *************************************/ + +typedef struct s_smx_context *smx_context_t; + +/** @brief Process datatype + @ingroup m_datatypes_management_details @{ */ + typedef struct s_smx_process { + s_xbt_swag_hookup_t process_hookup; + s_xbt_swag_hookup_t synchro_hookup; + s_xbt_swag_hookup_t host_proc_hookup; + s_xbt_swag_hookup_t destroy_hookup; + + char *name; /**< @brief process name if any */ + smx_host_t smx_host; /* the host on which the process is running */ + smx_context_t context; /* the context that executes the scheduler function */ + int argc; /* arguments number if any */ + char **argv; /* arguments table if any */ + int blocked : 1; + int suspended : 1; + int iwannadie : 1; + smx_mutex_t mutex; /* mutex on which the process is blocked */ + smx_cond_t cond; /* cond on which the process is blocked */ + xbt_dict_t properties; + void *data; /* kept for compatibility, it should be replaced with moddata */ + void_f_pvoid_t cleanup_func; + void *cleanup_arg; + + } s_smx_process_t; +/** @} */ + +typedef struct s_smx_process_arg { + const char *name; + xbt_main_func_t code; + void *data; + char *hostname; + int argc; + char **argv; + double kill_time; + xbt_dict_t properties; +} s_smx_process_arg_t, *smx_process_arg_t; + +/*************************** Mutex and Conditional ****************************/ + +typedef struct s_smx_mutex { + + /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */ + xbt_swag_t sleeping; /* list of sleeping process */ + int refcount; + /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_mutex */ + +} s_smx_mutex_t; + +typedef struct s_smx_cond { + + /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */ + xbt_swag_t sleeping; /* list of sleeping process */ + smx_mutex_t mutex; + xbt_fifo_t actions; /* list of actions */ + /* KEEP IT IN SYNC WITH src/xbt_sg_thread.c::struct s_xbt_cond */ + +} s_smx_cond_t; + +/********************************* Action *************************************/ + +/** @brief Action datatype + @ingroup m_datatypes_management_details */ +typedef struct s_smx_action { + char *name; /**< @brief action name if any */ + xbt_fifo_t cond_list; /*< conditional variables that must be signaled when the action finish. */ + void *data; /**< @brief user data */ + int refcount; /**< @brief reference counter */ + surf_action_t surf_action; /* SURF modeling of computation */ + smx_host_t source; +} s_smx_action_t; + +/************************** Configuration support *****************************/ + +void simix_config_init(void); /* create the config set, call this before use! */ +void simix_config_finalize(void); /* destroy the config set, call this at cleanup. */ +extern int _simix_init_status; /* 0: beginning of time; + 1: pre-inited (cfg_set created); + 2: inited (running) */ +extern xbt_cfg_t _simix_cfg_set; + + +#define SIMIX_CHECK_HOST() xbt_assert0(surf_workstation_model->extension_public-> \ + get_state(SIMIX_host_self()->host)==SURF_CPU_ON,\ + "Host failed, you cannot call this function.") + +smx_host_t __SIMIX_host_create(const char *name, void *workstation, void *data); +void __SIMIX_host_destroy(void *host); +void __SIMIX_cond_wait(smx_cond_t cond); +void __SIMIX_cond_display_actions(smx_cond_t cond); +void __SIMIX_action_display_conditions(smx_action_t action); +void __SIMIX_create_maestro_process(void); + +/******************************** Context *************************************/ + +int SIMIX_context_create_maestro(smx_process_t *process); + +int SIMIX_context_new(smx_process_t *process, xbt_main_func_t code); + +void SIMIX_context_kill(smx_process_t process); + +void SIMIX_context_start(smx_process_t process); + +void SIMIX_context_yield(void); + +void SIMIX_context_schedule(smx_process_t process); + +void SIMIX_context_empty_trash(void); + +void SIMIX_context_stop(int exit_code); + +void SIMIX_context_free(smx_process_t process); + +void SIMIX_context_mod_init(void); + +void SIMIX_context_mod_exit(void); +#endif diff --git a/src/simix/xbt_context.c b/src/simix/smx_context.c similarity index 91% rename from src/simix/xbt_context.c rename to src/simix/smx_context.c index c1f1e656e2..fd3bc2beb3 100644 --- a/src/simix/xbt_context.c +++ b/src/simix/smx_context.c @@ -9,10 +9,9 @@ #include "portable.h" #include "xbt/log.h" #include "xbt/swag.h" -#include "xbt_context_private.h" +#include "smx_context_private.h" -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_context, xbt, - "Context switching mecanism"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smx_context, simix, "Context switching mecanism"); /* the context factory used to create the appropriate context * each context implementation define its own context factory @@ -31,7 +30,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_context, xbt, void SIMIX_context_mod_init(void) { if (!simix_global->context_factory) { - /* select context factory to use to create the context(depends of the macro definitions) */ + /* select context factory to use to create the context(depends of the macro definitions) */ #ifdef CONTEXT_THREADS /* context switch based os thread */ @@ -86,21 +85,21 @@ int SIMIX_context_create_maestro(smx_process_t *process) /* Scenario for the end of a context: * * CASE 1: death after end of function - * __context_wrapper, called by os thread, calls xbt_context_stop after user code stops - * xbt_context_stop calls user cleanup_func if any (in context settings), + * __context_wrapper, called by os thread, calls smx_context_stop after user code stops + * smx_context_stop calls user cleanup_func if any (in context settings), * add current to trashbin * yields back to maestro (destroy os thread on need) - * From time to time, maestro calls xbt_context_empty_trash, - * which maps xbt_context_free on the content - * xbt_context_free frees some more memory, + * From time to time, maestro calls smx_context_empty_trash, + * which maps smx_context_free on the content + * smx_context_free frees some more memory, * joins os thread * * CASE 2: brutal death - * xbt_context_kill (from any context) + * smx_context_kill (from any context) * set context->wannadie to 1 * yields to the context * the context is awaken in the middle of __yield. - * At the end of it, it checks that wannadie == 1, and call xbt_context_stop + * At the end of it, it checks that wannadie == 1, and call smx_context_stop * (same than first case afterward) */ diff --git a/src/simix/xbt_context_java.c b/src/simix/smx_context_java.c similarity index 100% rename from src/simix/xbt_context_java.c rename to src/simix/smx_context_java.c diff --git a/src/simix/xbt_context_java.h b/src/simix/smx_context_java.h similarity index 100% rename from src/simix/xbt_context_java.h rename to src/simix/smx_context_java.h diff --git a/src/simix/xbt_context_private.h b/src/simix/smx_context_private.h similarity index 96% rename from src/simix/xbt_context_private.h rename to src/simix/smx_context_private.h index a76e489ab9..e8b5b6bafe 100644 --- a/src/simix/xbt_context_private.h +++ b/src/simix/smx_context_private.h @@ -22,15 +22,15 @@ SG_BEGIN_DECL() concepts must implement */ /* each context type must contain this macro at its begining -- OOP in C :/ */ -#define XBT_CTX_BASE_T \ +#define SMX_CTX_BASE_T \ s_xbt_swag_hookup_t hookup; \ ex_ctx_t *exception; \ xbt_main_func_t code; \ /* all other context types derive from this structure */ -typedef struct s_xbt_context { - XBT_CTX_BASE_T; -} s_xbt_context_t; +typedef struct s_smx_context { + SMX_CTX_BASE_T; +} s_smx_context_t; /* *********************** */ /* factory type definition */ diff --git a/src/simix/xbt_context_sysv.c b/src/simix/smx_context_sysv.c similarity index 88% rename from src/simix/xbt_context_sysv.c rename to src/simix/smx_context_sysv.c index 2847201c8d..9fa2e667e1 100644 --- a/src/simix/xbt_context_sysv.c +++ b/src/simix/smx_context_sysv.c @@ -8,7 +8,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "xbt/ex_interface.h" -#include "xbt_context_private.h" +#include "smx_context_private.h" #include "context_sysv_config.h" /* loads context system definitions */ #include "portable.h" @@ -18,17 +18,17 @@ # include #endif /* HAVE_VALGRIND_VALGRIND_H */ -XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(xbt_context); +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(smx_context); -typedef struct s_xbt_ctx_sysv { - XBT_CTX_BASE_T; +typedef struct s_smx_ctx_sysv { + SMX_CTX_BASE_T; ucontext_t uc; /* the thread that execute the code */ char stack[STACK_SIZE]; /* the thread stack size */ smx_process_t prev; /* the previous process */ #ifdef HAVE_VALGRIND_VALGRIND_H unsigned int valgrind_stack_id; /* the valgrind stack id */ #endif -} s_xbt_ctx_sysv_t, *xbt_ctx_sysv_t; +} s_smx_ctx_sysv_t, *smx_ctx_sysv_t; /* callback: context fetching */ @@ -103,12 +103,12 @@ void SIMIX_ctx_sysv_factory_init(smx_context_factory_t * factory) static int smx_ctx_sysv_factory_create_maestro_context(smx_process_t *maestro) { - xbt_ctx_sysv_t context = xbt_new0(s_xbt_ctx_sysv_t, 1); + smx_ctx_sysv_t context = xbt_new0(s_smx_ctx_sysv_t, 1); context->exception = xbt_new(ex_ctx_t, 1); XBT_CTX_INITIALIZE(context->exception); - (*maestro)->context = (xbt_context_t) context; + (*maestro)->context = (smx_context_t) context; return 0; @@ -127,7 +127,7 @@ static int smx_ctx_sysv_factory_create_context(smx_process_t *smx_process, xbt_main_func_t code) { VERB1("Create context %s", (*smx_process)->name); - xbt_ctx_sysv_t context = xbt_new0(s_xbt_ctx_sysv_t, 1); + smx_ctx_sysv_t context = xbt_new0(s_smx_ctx_sysv_t, 1); context->code = code; @@ -147,7 +147,7 @@ smx_ctx_sysv_factory_create_context(smx_process_t *smx_process, xbt_main_func_t context->exception = xbt_new(ex_ctx_t, 1); XBT_CTX_INITIALIZE(context->exception); - (*smx_process)->context = (xbt_context_t)context; + (*smx_process)->context = (smx_context_t)context; (*smx_process)->iwannadie = 0; /* FIXME: Check what should return */ @@ -156,14 +156,14 @@ smx_ctx_sysv_factory_create_context(smx_process_t *smx_process, xbt_main_func_t static void smx_ctx_sysv_free(smx_process_t process) { - xbt_ctx_sysv_t context = (xbt_ctx_sysv_t)process->context; + smx_ctx_sysv_t context = (smx_ctx_sysv_t)process->context; if (context){ if (context->exception) free(context->exception); #ifdef HAVE_VALGRIND_VALGRIND_H - VALGRIND_STACK_DEREGISTER(((xbt_ctx_sysv_t) context)->valgrind_stack_id); + VALGRIND_STACK_DEREGISTER(((smx_ctx_sysv_t) context)->valgrind_stack_id); #endif /* HAVE_VALGRIND_VALGRIND_H */ /* destroy the context */ @@ -215,7 +215,7 @@ static void smx_ctx_sysv_yield(void) static void smx_ctx_sysv_start(smx_process_t process) { /*DEBUG1("Start context '%s'", context->name);*/ - makecontext(&(((xbt_ctx_sysv_t) process->context)->uc), smx_ctx_sysv_wrapper, 0); + makecontext(&(((smx_ctx_sysv_t) process->context)->uc), smx_ctx_sysv_wrapper, 0); } static void smx_ctx_sysv_stop(int exit_code) @@ -233,7 +233,7 @@ static void smx_ctx_sysv_swap(smx_process_t process) xbt_assert0(simix_global->current_process, "You have to call context_init() first."); xbt_assert0(process, "Invalid argument"); - if (((xbt_ctx_sysv_t) process->context)->prev == NULL) + if (((smx_ctx_sysv_t) process->context)->prev == NULL) smx_ctx_sysv_resume(process); else smx_ctx_sysv_suspend(process); @@ -253,13 +253,13 @@ static void smx_ctx_sysv_suspend(smx_process_t process) int rv; DEBUG1("Suspend context: '%s'", simix_global->current_process->name); - smx_process_t prev_process = ((xbt_ctx_sysv_t) process->context)->prev; + smx_process_t prev_process = ((smx_ctx_sysv_t) process->context)->prev; simix_global->current_process = prev_process; - ((xbt_ctx_sysv_t) process->context)->prev = NULL; + ((smx_ctx_sysv_t) process->context)->prev = NULL; - rv = swapcontext(&(((xbt_ctx_sysv_t) process->context)->uc), &(((xbt_ctx_sysv_t)prev_process->context)->uc)); + rv = swapcontext(&(((smx_ctx_sysv_t) process->context)->uc), &(((smx_ctx_sysv_t)prev_process->context)->uc)); xbt_assert0((rv == 0), "Context swapping failure"); } @@ -267,13 +267,13 @@ static void smx_ctx_sysv_suspend(smx_process_t process) static void smx_ctx_sysv_resume(smx_process_t process) { int rv; - xbt_ctx_sysv_t new_context = (xbt_ctx_sysv_t)process->context; - xbt_ctx_sysv_t prev_context = (xbt_ctx_sysv_t)simix_global->current_process->context; + smx_ctx_sysv_t new_context = (smx_ctx_sysv_t)process->context; + smx_ctx_sysv_t prev_context = (smx_ctx_sysv_t)simix_global->current_process->context; DEBUG2("Resume context: '%s' (from '%s')", process->name, simix_global->current_process->name); - ((xbt_ctx_sysv_t) process->context)->prev = simix_global->current_process; + ((smx_ctx_sysv_t) process->context)->prev = simix_global->current_process; simix_global->current_process = process; diff --git a/src/simix/xbt_context_thread.c b/src/simix/smx_context_thread.c similarity index 100% rename from src/simix/xbt_context_thread.c rename to src/simix/smx_context_thread.c diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index 9d2059aea2..7c7d9c1580 100644 --- a/src/simix/smx_global.c +++ b/src/simix/smx_global.c @@ -227,9 +227,6 @@ void SIMIX_clean(void) { /* Kill everyone (except maestro) */ SIMIX_process_killall(); - - /* Destroy the hosts list (and the hosts) */ - xbt_dict_free(&(simix_global->host)); simix_config_finalize(); @@ -239,7 +236,8 @@ void SIMIX_clean(void) xbt_swag_free(simix_global->process_list); simix_global->process_list = NULL; xbt_dict_free(&(simix_global->registered_functions)); - + xbt_dict_free(&(simix_global->host)); + /* Let's free maestro now */ SIMIX_context_free(simix_global->maestro_process); free(simix_global->maestro_process); diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index 0615265848..b2384bbdcb 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -213,7 +213,6 @@ void SIMIX_process_kill(smx_process_t process) void *SIMIX_process_get_data(smx_process_t process) { xbt_assert0((process != NULL), "Invalid parameters"); - return (process->data); } -- 2.20.1