Fix some more memory leaks
This commit was SVN r14175.
Этот коммит содержится в:
родитель
a78672be2b
Коммит
2f74160a37
@ -106,13 +106,13 @@ static int filem_rsh_open(void)
|
||||
"rcp",
|
||||
"The rsh cp command for the FILEM rsh component",
|
||||
false, false,
|
||||
strdup("rcp"),
|
||||
"rcp",
|
||||
&mca_filem_rsh_component.cp_command);
|
||||
mca_base_param_reg_string(&mca_filem_rsh_component.super.filem_version,
|
||||
"rsh",
|
||||
"The remote shell command for the FILEM rsh component",
|
||||
false, false,
|
||||
strdup("rsh"),
|
||||
"rsh",
|
||||
&mca_filem_rsh_component.remote_sh_command);
|
||||
|
||||
/*
|
||||
|
@ -111,6 +111,7 @@ int orte_pls_base_store_active_daemons(opal_list_t *daemons)
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto CLEANUP;
|
||||
}
|
||||
free(key);
|
||||
item = opal_list_get_next(item);
|
||||
}
|
||||
|
||||
@ -124,7 +125,6 @@ CLEANUP:
|
||||
if (NULL != values[i]) OBJ_RELEASE(values[i]);
|
||||
}
|
||||
if (NULL != values) free(values);
|
||||
free(key);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -284,6 +284,8 @@ static int pls_slurm_launch_job(orte_jobid_t jobid)
|
||||
opal_output(0, "orte_pls_rsh: unable to create process name");
|
||||
goto cleanup;
|
||||
}
|
||||
free(name);
|
||||
|
||||
opal_argv_append(&argc, &argv, "--name");
|
||||
opal_argv_append(&argc, &argv, name_string);
|
||||
free(name_string);
|
||||
@ -400,9 +402,11 @@ static int pls_slurm_launch_job(orte_jobid_t jobid)
|
||||
env = opal_argv_copy(environ);
|
||||
var = mca_base_param_environ_variable("seed", NULL, NULL);
|
||||
opal_setenv(var, "0", true, &env);
|
||||
free(var);
|
||||
var = mca_base_param_environ_variable("orte", "slurm", "nodelist");
|
||||
opal_setenv(var, nodelist_flat, true, &env);
|
||||
free(nodelist_flat);
|
||||
free(var);
|
||||
|
||||
if (mca_pls_slurm_component.timing) {
|
||||
if (0 != gettimeofday(&launchstart, NULL)) {
|
||||
@ -664,6 +668,8 @@ static int pls_slurm_start_proc(int argc, char **argv, char **env,
|
||||
exit(1);
|
||||
}
|
||||
|
||||
free(exec_argv);
|
||||
|
||||
/* just in case, make sure that the srun process is not in our
|
||||
process group any more. Stevens says always do this on both
|
||||
sides of the fork... */
|
||||
|
@ -261,14 +261,14 @@ int orte_rmaps_base_get_job_map(orte_job_map_t **map, orte_jobid_t jobid)
|
||||
continue;
|
||||
}
|
||||
if(strcmp(keyval->key, ORTE_PROC_CKPT_SNAPSHOT_REF_KEY) == 0) {
|
||||
if (ORTE_SUCCESS != (rc = orte_dss.get((void**)&(proc->ckpt_snapshot_ref), keyval->value, ORTE_STRING))) {
|
||||
if (ORTE_SUCCESS != (rc = orte_dss.copy((void**)&(proc->ckpt_snapshot_ref), keyval->value, ORTE_STRING))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if(strcmp(keyval->key, ORTE_PROC_CKPT_SNAPSHOT_LOC_KEY) == 0) {
|
||||
if (ORTE_SUCCESS != (rc = orte_dss.get((void**)&(proc->ckpt_snapshot_loc), keyval->value, ORTE_STRING))) {
|
||||
if (ORTE_SUCCESS != (rc = orte_dss.copy((void**)&(proc->ckpt_snapshot_loc), keyval->value, ORTE_STRING))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
}
|
||||
@ -297,10 +297,12 @@ int orte_rmaps_base_get_job_map(orte_job_map_t **map, orte_jobid_t jobid)
|
||||
|
||||
/* all done */
|
||||
*map = mapping;
|
||||
return ORTE_SUCCESS;
|
||||
rc = ORTE_SUCCESS;
|
||||
|
||||
cleanup:
|
||||
OBJ_RELEASE(mapping);
|
||||
if(rc != ORTE_SUCCESS) {
|
||||
OBJ_RELEASE(mapping);
|
||||
}
|
||||
|
||||
for (v=0; v < num_values; v++) {
|
||||
OBJ_RELEASE(values[v]);
|
||||
@ -547,7 +549,7 @@ int orte_rmaps_base_put_job_map(orte_job_map_t *map)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
for(i=0; i<num_procs; i++) {
|
||||
for(i=0; i<=num_procs; i++) {
|
||||
if(NULL != values[i]) {
|
||||
OBJ_RELEASE(values[i]);
|
||||
}
|
||||
|
@ -153,10 +153,12 @@ static void orte_rmaps_job_map_destruct(orte_job_map_t* map)
|
||||
|
||||
if (NULL != map->mapping_mode) free(map->mapping_mode);
|
||||
|
||||
for(i=0; i < map->num_apps; i++) {
|
||||
if (NULL != map->apps[i]) OBJ_RELEASE(map->apps[i]);
|
||||
}
|
||||
if (NULL != map->apps) {
|
||||
for(i=0; i < map->num_apps; i++) {
|
||||
if (NULL != map->apps[i]) {
|
||||
OBJ_RELEASE(map->apps[i]);
|
||||
}
|
||||
}
|
||||
free(map->apps);
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,6 @@ int orte_rmgr_base_put_app_context(
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
OBJ_RETAIN(app);
|
||||
job_slots += app->num_procs;
|
||||
}
|
||||
|
||||
|
@ -187,6 +187,8 @@ static void orte_rmgr_urm_wireup_stdin(orte_jobid_t jobid)
|
||||
if (ORTE_SUCCESS != (rc = orte_iof.iof_push(name, ORTE_NS_CMP_JOBID, ORTE_IOF_STDIN, 0))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
}
|
||||
free(name);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user