Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
the order of atexit() seem to be different on FreeBSD
authorMartin Quinson <martin.quinson@loria.fr>
Fri, 26 Aug 2016 15:30:26 +0000 (17:30 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Fri, 26 Aug 2016 15:30:26 +0000 (17:30 +0200)
src/xbt/mallocator.c

index 295ea55..f898c39 100644 (file)
@@ -196,6 +196,8 @@ void *xbt_mallocator_get(xbt_mallocator_t m)
  */
 void xbt_mallocator_release(xbt_mallocator_t m, void *object)
 {
  */
 void xbt_mallocator_release(xbt_mallocator_t m, void *object)
 {
+  if (m == NULL) // The mallocators are already destroyed. Bail out ASAP.
+     return;
   if (m->objects != NULL) { // Go for it
     lock_acquire(m);
     if (m->current_size < m->max_size) {
   if (m->objects != NULL) { // Go for it
     lock_acquire(m);
     if (m->current_size < m->max_size) {