Avoid getting the same default zone twice in a row.

847ff22 added a call to malloc_default_zone() before the main loop in
register_zone, effectively making malloc_default_zone() called twice
without any different outcome expected in the returned result.

It is also called once at the beginning, and a second time at the end
of the loop block.

Instead, call it only once per iteration.
This commit is contained in:
Mike Hommey 2016-07-08 13:28:16 +09:00
parent 47b34dd398
commit 4abaee5d13

View File

@ -246,7 +246,6 @@ register_zone(void)
malloc_zone_register(&zone);
do {
default_zone = malloc_default_zone();
/*
* Unregister and reregister the default zone. On OSX >= 10.6,
* unregistering takes the last registered zone and places it
@ -272,5 +271,7 @@ register_zone(void)
malloc_zone_unregister(purgeable_zone);
malloc_zone_register(purgeable_zone);
}
} while (malloc_default_zone() != &zone);
default_zone = malloc_default_zone();
} while (default_zone != &zone);
}