diff --git a/userspace/snmpd/wrsBootStatusGroup.c b/userspace/snmpd/wrsBootStatusGroup.c index 5163b518151d4b28b1c0cdb413c089a2b0fa8a3b..0f7cafe577b78b8ec5a7075711ff371ee1d222eb 100644 --- a/userspace/snmpd/wrsBootStatusGroup.c +++ b/userspace/snmpd/wrsBootStatusGroup.c @@ -459,7 +459,10 @@ static void get_daemons_status(void) char key[41]; /* 1 for null char */ int ret = 0; int i; - int processes_wrong = 0; /* number of too many or too few processes */ + int processes_wrong = 0; /* number of too many or too few processes + * (in total) */ + int missing_process = 0; /* number of too many or too few processes + * (particular process) */ /* clear user space daemon counters */ @@ -518,8 +521,20 @@ static void get_daemons_status(void) /* Calculate delta between expected and counted number * of processes. Neither too much or too few are ok. * NOTE: abs "exp" too */ - processes_wrong += abs(abs(userspace_daemons[i].exp) + missing_process = abs(abs(userspace_daemons[i].exp) - userspace_daemons[i].cnt); + if (missing_process) { + snmp_log(LOG_ERR, "SNMP: " SL_ER + " wrsBootUserspaceDaemonsMissing: wrong " + "number of running %s processes. Expected %d," + " counted %d\n", + userspace_daemons[i].key, + userspace_daemons[i].exp, + userspace_daemons[i].cnt + ); + } + + processes_wrong += missing_process; } /* save number of processes missing */ diff --git a/userspace/snmpd/wrsOSStatusGroup.c b/userspace/snmpd/wrsOSStatusGroup.c index c9d6cd53812e787e424e6c06761311c42f6129ec..f087d7dae8f65e0c790ce3d9790d9716161a7818 100644 --- a/userspace/snmpd/wrsOSStatusGroup.c +++ b/userspace/snmpd/wrsOSStatusGroup.c @@ -160,7 +160,7 @@ time_t wrsOSStatus_data_fill(void) /* check the number of missing daemons */ if (b->wrsBootUserspaceDaemonsMissing > 0) { o->wrsBootSuccessful = WRS_BOOT_SUCCESSFUL_ERROR; - snmp_log(LOG_ERR, "SNMP: " SL_ER " %s: %d userspace daemons not started\n", + snmp_log(LOG_ERR, "SNMP: " SL_ER " %s: wrong number of userspace daemons (differs by %d)\n", slog_obj_name, b->wrsBootUserspaceDaemonsMissing); }