Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Need this lines because when using gtnets, the libgtnets make a libc malloc
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 6 Jan 2011 10:23:31 +0000 (10:23 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 6 Jan 2011 10:23:31 +0000 (10:23 +0000)
so we can't do a mfree after.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9373 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/xbt/mmalloc/mm_legacy.c

index d6df507..4d46fd6 100644 (file)
@@ -7,6 +7,7 @@
 /* Redefine the classical malloc/free/realloc functions so that they fit well in the mmalloc framework */
 
 #include "mmprivate.h"
 /* Redefine the classical malloc/free/realloc functions so that they fit well in the mmalloc framework */
 
 #include "mmprivate.h"
+#include "gras_config.h"
 
 static void *__mmalloc_current_heap = NULL;     /* The heap we are currently using. */
 
 
 static void *__mmalloc_current_heap = NULL;     /* The heap we are currently using. */
 
@@ -81,6 +82,9 @@ void *realloc(void *p, size_t s)
 void free(void *p)
 {
   void *mdp = __mmalloc_current_heap;
 void free(void *p)
 {
   void *mdp = __mmalloc_current_heap;
+#ifdef HAVE_GTNETS
+  if(!mdp) return;
+#endif
   LOCK(mdp);
   mfree(mdp, p);
   UNLOCK(mdp);
   LOCK(mdp);
   mfree(mdp, p);
   UNLOCK(mdp);