diff options
| author | Jason Evans <jasone@canonware.com> | 2012-11-09 19:44:03 (GMT) |
|---|---|---|
| committer | Jason Evans <jasone@canonware.com> | 2012-11-09 19:44:03 (GMT) |
| commit | 87499f6748ebe4817571e817e9f680ccb5bf54a9 (patch) | |
| tree | a98396797d7550a3ceb04e7ddaed7bb8b27f13d7 /src/zone.c | |
| parent | 3b1f3aca54fede23299cde9034f7b909c3d290d7 (diff) | |
| parent | 556ddc7fa94f13c388ec6c9d2d54ace250540f2c (diff) | |
| download | jemalloc-3.2.0.zip jemalloc-3.2.0.tar.gz jemalloc-3.2.0.tar.bz2 | |
Merge branch 'dev'3.2.0
Diffstat (limited to 'src/zone.c')
| -rw-r--r-- | src/zone.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -171,6 +171,16 @@ void register_zone(void) { + /* + * If something else replaced the system default zone allocator, don't + * register jemalloc's. + */ + malloc_zone_t *default_zone = malloc_default_zone(); + if (!default_zone->zone_name || + strcmp(default_zone->zone_name, "DefaultMallocZone") != 0) { + return; + } + zone.size = (void *)zone_size; zone.malloc = (void *)zone_malloc; zone.calloc = (void *)zone_calloc; @@ -241,7 +251,7 @@ register_zone(void) * then becomes the default. */ do { - malloc_zone_t *default_zone = malloc_default_zone(); + default_zone = malloc_default_zone(); malloc_zone_unregister(default_zone); malloc_zone_register(default_zone); } while (malloc_default_zone() != &zone); |
