Exemple #1
0
/* 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;
}
Exemple #2
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);
}