Index: devpcp/src/pmdas/pmcd/src/pmcd.c =================================================================== --- devpcp.orig/src/pmdas/pmcd/src/pmcd.c 2007-03-19 16:32:24.926958000 +1100 +++ devpcp/src/pmdas/pmcd/src/pmcd.c 2007-03-19 16:32:46.680317500 +1100 @@ -417,11 +417,8 @@ refresh_pmie_indom(void) npmies = 0; /* open the directory iterate through mmaping as we go */ - if ((pmiedir = opendir(PMIE_DIR)) == NULL) { - __pmNotifyErr(LOG_ERR, "pmcd pmda cannot open %s: %s", - PMIE_DIR, strerror(errno)); + if ((pmiedir = opendir(PMIE_DIR)) == NULL) return 0; - } /* NOTE: all valid files are already mmapped by pmie */ while ((dp = readdir(pmiedir)) != NULL) { size = (npmies+1) * sizeof(pmie_t); @@ -470,6 +467,12 @@ refresh_pmie_indom(void) } closedir(pmiedir); } + } else { + if (pmies) { + free(pmies); + pmies = NULL; + } + npmies = 0; } setoserror(0); return npmies;