X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b73466ada27682d1729f394549479da83ef4a99..0b2b203572323552d916d5d2c60d100a27ca7f72:/src/simix/smx_private.h diff --git a/src/simix/smx_private.h b/src/simix/smx_private.h index d8c251962f..2b62920590 100644 --- a/src/simix/smx_private.h +++ b/src/simix/smx_private.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2010, 2012-2013. The SimGrid Team. +/* Copyright (c) 2007-2010, 2012-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -198,26 +198,22 @@ typedef struct s_smx_action { #endif } s_smx_action_t; -/* FIXME: check if we can delete this function */ -static XBT_INLINE e_smx_state_t SIMIX_action_map_state(e_surf_action_state_t state) -{ - switch (state) { - case SURF_ACTION_READY: - return SIMIX_READY; - case SURF_ACTION_RUNNING: - return SIMIX_RUNNING; - case SURF_ACTION_FAILED: - return SIMIX_FAILED; - case SURF_ACTION_DONE: - return SIMIX_DONE; - default: - xbt_die("Unexpected SURF action state"); - } -} - void SIMIX_context_mod_init(void); void SIMIX_context_mod_exit(void); +/* We are using the bottom of the stack to save some information, like the + * valgrind_stack_id. Define smx_context_usable_stack_size to give the remaining + * size for the stack. */ +#ifdef HAVE_VALGRIND_VALGRIND_H +# define smx_context_usable_stack_size \ + (smx_context_stack_size - sizeof(unsigned int)) /* for valgrind_stack_id */ +#else +# define smx_context_usable_stack_size smx_context_stack_size +#endif + +void *SIMIX_context_stack_new(void); +void SIMIX_context_stack_delete(void *stack); + void SIMIX_context_set_current(smx_context_t context); smx_context_t SIMIX_context_get_current(void); @@ -320,13 +316,13 @@ static XBT_INLINE smx_context_t SIMIX_context_self(void) } /** - \brief returns the data associated to a context + \brief returns the SIMIX process associated to a context \param context The context - \return The data + \return The SIMIX process */ -static XBT_INLINE void* SIMIX_context_get_data(smx_context_t context) +static XBT_INLINE smx_process_t SIMIX_context_get_process(smx_context_t context) { - return simix_global->context_factory->get_data(context); + return simix_global->context_factory->get_process(context); } XBT_PUBLIC(int) SIMIX_process_get_maxpid(void);