From: Christophe ThiƩry Date: Fri, 6 Jan 2012 14:26:26 +0000 (+0100) Subject: MSG: don't keep pointers to a structure freed X-Git-Tag: exp_20120216~194 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/453654a13f55c08d8932b79561bfeba5b69e27ae MSG: don't keep pointers to a structure freed --- diff --git a/src/msg/msg_process.c b/src/msg/msg_process.c index 8a2f8eaf00..5030416b5e 100644 --- a/src/msg/msg_process.c +++ b/src/msg/msg_process.c @@ -26,6 +26,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_process, msg, */ /******************************** Process ************************************/ + +/** + * \brief Cleans the MSG data of a process. + * \param smx_proc a SIMIX process + */ void MSG_process_cleanup_from_SIMIX(smx_process_t smx_proc) { simdata_process_t msg_proc; @@ -33,9 +38,11 @@ void MSG_process_cleanup_from_SIMIX(smx_process_t smx_proc) if (smx_proc == SIMIX_process_self()) { /* avoid a SIMIX request if this function is called by the process itself */ msg_proc = SIMIX_process_self_get_data(smx_proc); + SIMIX_process_self_set_data(smx_proc, NULL); } else { msg_proc = SIMIX_req_process_get_data(smx_proc); + SIMIX_req_process_set_data(smx_proc, NULL); } #ifdef HAVE_TRACING