summaryrefslogtreecommitdiffstats
path: root/registry/registry_machine.c
diff options
context:
space:
mode:
Diffstat (limited to 'registry/registry_machine.c')
-rw-r--r--registry/registry_machine.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/registry/registry_machine.c b/registry/registry_machine.c
index bd1d243a0..fb345aea2 100644
--- a/registry/registry_machine.c
+++ b/registry/registry_machine.c
@@ -24,7 +24,10 @@ REGISTRY_MACHINE_URL *registry_machine_url_allocate(REGISTRY_MACHINE *m, REGISTR
registry.machines_urls_memory += sizeof(REGISTRY_MACHINE_URL);
debug(D_REGISTRY, "registry_machine_url_allocate('%s', '%s'): indexing URL in machine", m->guid, u->url);
+
+ registry.machines_urls_memory -= dictionary_stats_allocated_memory(m->machine_urls);
dictionary_set(m->machine_urls, u->url, mu, sizeof(REGISTRY_MACHINE_URL));
+ registry.machines_urls_memory += dictionary_stats_allocated_memory(m->machine_urls);
registry_url_link(u);
@@ -39,15 +42,17 @@ REGISTRY_MACHINE *registry_machine_allocate(const char *machine_guid, time_t whe
strncpyz(m->guid, machine_guid, GUID_LEN);
debug(D_REGISTRY, "Registry: registry_machine_allocate('%s'): creating dictionary of urls", machine_guid);
- m->machine_urls = dictionary_create(DICTIONARY_FLAGS);
+ m->machine_urls = dictionary_create(REGISTRY_DICTIONARY_FLAGS);
m->first_t = m->last_t = (uint32_t)when;
m->usages = 0;
registry.machines_memory += sizeof(REGISTRY_MACHINE);
-
registry.machines_count++;
+
+ registry.machines_urls_memory -= dictionary_stats_allocated_memory(m->machine_urls);
dictionary_set(registry.machines, m->guid, m, sizeof(REGISTRY_MACHINE));
+ registry.machines_urls_memory += dictionary_stats_allocated_memory(m->machine_urls);
return m;
}