Пример #1
0
Файл: cfio.c Проект: CFIO/CFIO
int cfio_finalize()
{
    int ret,flag;
    cfio_msg_t *msg;

    ret = MPI_Finalized(&flag);
    if(flag)
    {
	error("***You should not call MPI_Finalize before cfio_Finalized*****\n");
	return CFIO_ERROR_FINAL_AFTER_MPI;
    }
    if(cfio_map_proc_type(rank) == CFIO_MAP_TYPE_CLIENT)
    {
	cfio_send_io_done(&msg, rank);
    }
    
    if(cfio_map_proc_type(rank) == CFIO_MAP_TYPE_SERVER)
    {
	cfio_server_final();
    }else if(cfio_map_proc_type(rank) == CFIO_MAP_TYPE_CLIENT)
    {
	cfio_id_final();

	cfio_send_final();
    }

    cfio_map_final();
    debug(DEBUG_CFIO, "success return.");
    return CFIO_ERROR_NONE;
}
Пример #2
0
int cfio_server_final()
{
    cfio_io_final();
    cfio_id_final();
    cfio_recv_final();
    times_final();

    begin_time = times_cur();

    cfio_rdma_server_final();

    end_time = times_cur();
    // printf("server %d rdma final %f. \n", rank, end_time - begin_time);

    int i;
    for (i = 0; i < client_num; ++i) {
        free(recv_bufs[i]);
        free(buf_addrs[i]);
    }
    free(recv_bufs);
    free(buf_addrs);

    return CFIO_ERROR_NONE;
}