diff --git a/src/pmdas/root/root.c b/src/pmdas/root/root.c index 1d7208a..2e45fd6 100644 --- a/src/pmdas/root/root.c +++ b/src/pmdas/root/root.c @@ -139,7 +139,7 @@ root_container_search(const char *query) break; if (!pmdaCacheLookup(indom, inst, &name, (void **)&cp) || !cp) continue; - if (root_refresh_container_values(name, cp) < 0) + if (root_refresh_container_values(name, cp) < 0 || !query) continue; for (dp = &engines[0]; dp->name != NULL; dp++) { if ((fuzzy = dp->name_matching(dp, query, cp->name, name)) <= best) @@ -714,6 +714,7 @@ root_init(pmdaInterface *dp) { root_check_user(); root_setup_containers(); + root_container_search(NULL); /* potentially costly early scan */ root_setup_socket(); atexit(root_close_socket); @@ -767,8 +768,8 @@ main(int argc, char **argv) } pmdaOpenLog(&dispatch); - root_init(&dispatch); pmdaConnect(&dispatch); + root_init(&dispatch); root_main(&dispatch); exit(0); }