X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dce08fe1e16cc851ad994b925d5d36a863648c8f..410bd96d9c3c8c33f6e7ea94afc45bde1e32dc4c:/include/gras/process.h diff --git a/include/gras/process.h b/include/gras/process.h index 43ead0c104..3d5b95d6e2 100644 --- a/include/gras/process.h +++ b/include/gras/process.h @@ -34,6 +34,7 @@ void gras_agent_spawn(const char *name, void *data, xbt_main_func_t code, int ar * and use \ref gras_userdata_set yourself), and \ref gras_userdata_get to * retrieve a reference to it. * + * * For more info on this, you may want to check the relevant lesson of the GRAS tutorial: * \ref GRAS_tut_tour_globals */ @@ -49,10 +50,18 @@ XBT_PUBLIC(void*) gras_userdata_get(void); * \brief Set the data associated with the current process. * \ingroup GRAS_globals */ -XBT_PUBLIC(void) gras_userdata_set(void *ud); +XBT_PUBLIC(void*) gras_userdata_set(void *ud); -/** \brief Malloc and set the data associated with the current process. */ -#define gras_userdata_new(type) (gras_userdata_set(xbt_new0(type,1)),gras_userdata_get()) +/** \brief Malloc and set the data associated with the current process. + * + * @warnig gras_userdata_new() expects the pointed type, not the + * pointer type. We know it'a a bit troublesome, but it seems like + * the only solution since this macro has to compute the size to + * malloc and should thus know the pointed type. + * + * You'll find an example in the tutorial: \ref GRAS_tut_tour_globals + */ +#define gras_userdata_new(type) ((type*)gras_userdata_set(xbt_new0(type,1))) /* @} */ SG_END_DECL()