/* declared in naemon/utils.h */ int process_check_result(check_result * cr) { long check_idx; char* endptr; if (cr->service_description && *cr->service_description != '\0') { check_result_data* returned_result; check_idx = strtol(cr->service_description, &endptr, 10); returned_result = malloc(sizeof(check_result_data)); if (cr->host_name) { strncpy(returned_result->host_name, cr->host_name, sizeof(returned_result->host_name) - 1); } if (cr->service_description) { strncpy(returned_result->service_description, cr->service_description, sizeof(returned_result->service_description) - 1); } if (cr->output) { char* p_term; strncpy(returned_result->output, cr->output, sizeof(returned_result->output) - 1); returned_result->output[127] = '\0'; p_term = strchr(returned_result->output, '\n'); if (p_term) *p_term = '\0'; } returned_result->start_time = cr->start_time; returned_result->finish_time = cr->finish_time; add_object_to_objectlist(&cr_container[check_idx], returned_result); nr_of_rcv_results++; } else { printf("Spurious check result detected\n"); } return 0; }
/* add list to gearman result list */ void mod_gm_add_result_to_list(check_result * newcr) { pthread_mutex_lock(&mod_gm_result_list_mutex); add_object_to_objectlist(&mod_gm_result_list, newcr); pthread_mutex_unlock(&mod_gm_result_list_mutex); }