- if (NULL != recv_buf_free) xbt_free(recv_buf_free);
- if (NULL != result_buf_free) xbt_free(result_buf_free);
-
+ if (!_xbt_replay_is_active()){
+ if (NULL != recv_buf_free) xbt_free(recv_buf_free);
+ if (NULL != result_buf_free) xbt_free(result_buf_free);
+ }
+#ifndef WIN32
+ else{
+ if (NULL != recv_buf_free) SMPI_SHARED_FREE(recv_buf_free);
+ if (NULL != result_buf_free) SMPI_SHARED_FREE(result_buf_free);
+ }
+#endif