Exemple #1
0
static void local_fin(void)
{
    orte_wait_finalize();

    /* close pnp */
    orcm_leader_base_close();
    orcm_pnp_base_close();

    orte_rmcast_base_close();
    orte_routed_base_close();
    orte_rml_base_close();

}
Exemple #2
0
static void local_fin(void)
{
    int i;
    orte_node_t *node;
    orte_job_t *job;

    /* stop the local sensors */
    orte_sensor.stop(ORTE_PROC_MY_NAME->jobid);

    orte_sensor_base_close();

    orte_odls_base_close();
    
    orte_wait_finalize();

    /* finalize selected modules */
    orte_errmgr_base_close();

    /* close the orcm-related frameworks */
    orcm_leader_base_close();
    orcm_pnp_base_close();

    /* close the multicast */
    orte_rmcast_base_close();
    orte_routed_base_close();
    orte_rml_base_close();

    /* cleanup the job and node info arrays */
    if (NULL != orte_node_pool) {
        for (i=0; i < orte_node_pool->size; i++) {
            if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(orte_node_pool,i))) {
                OBJ_RELEASE(node);
            }
        }
        OBJ_RELEASE(orte_node_pool);
    }
    if (NULL != orte_job_data) {
        for (i=0; i < orte_job_data->size; i++) {
            if (NULL != (job = (orte_job_t*)opal_pointer_array_get_item(orte_job_data,i))) {
                OBJ_RELEASE(job);
            }
        }
        OBJ_RELEASE(orte_job_data);
    }

    /* handle the orcm-specific OPAL stuff */
    opal_sysinfo_base_close();
    opal_pstat_base_close();

}