예제 #1
0
파일: uiu.c 프로젝트: NexMirror/MPICH
void HYD_uiu_free_params(void)
{
    struct stdoe_fd *tmp, *run;

    HYDU_finalize_user_global(&HYD_server_info.user_global);

    if (HYD_server_info.base_path)
        MPL_free(HYD_server_info.base_path);

    if (HYD_server_info.port_range)
        MPL_free(HYD_server_info.port_range);

    if (HYD_server_info.iface_ip_env_name)
        MPL_free(HYD_server_info.iface_ip_env_name);

    if (HYD_server_info.nameserver)
        MPL_free(HYD_server_info.nameserver);

    if (HYD_server_info.localhost)
        MPL_free(HYD_server_info.localhost);

    if (HYD_server_info.node_list)
        HYDU_free_node_list(HYD_server_info.node_list);

    if (HYD_server_info.pg_list.proxy_list)
        HYDU_free_proxy_list(HYD_server_info.pg_list.proxy_list);

    if (HYD_server_info.pg_list.next)
        HYDU_free_pg_list(HYD_server_info.pg_list.next);

    if (HYD_ui_info.prepend_pattern)
        MPL_free(HYD_ui_info.prepend_pattern);

    if (HYD_ui_info.outfile_pattern)
        MPL_free(HYD_ui_info.outfile_pattern);

    if (HYD_ui_info.errfile_pattern)
        MPL_free(HYD_ui_info.errfile_pattern);

    for (run = stdoe_fd_list; run;) {
        close(run->fd);
        tmp = run->next;
        MPL_free(run);
        run = tmp;
    }

    /* Re-initialize everything to default values */
    HYD_uiu_init_params();
}
예제 #2
0
파일: alloc.c 프로젝트: tjhei/fgmpi
void HYDU_free_pg_list(struct HYD_pg *pg_list)
{
    struct HYD_pg *pg, *tpg;

    pg = pg_list;
    while (pg) {
        tpg = pg->next;

        if (pg->proxy_list)
            HYDU_free_proxy_list(pg->proxy_list);

        if (pg->user_node_list)
            HYDU_free_node_list(pg->user_node_list);

        HYDU_FREE(pg);

        pg = tpg;
    }
}