set the current directory before trying to exec/dump the binary
This commit was SVN r6562.
Этот коммит содержится в:
родитель
404d9ea990
Коммит
b46023565f
@ -110,6 +110,7 @@ static int orte_pls_bproc_dump(orte_app_context_t* app, uint8_t** image, size_t*
|
|||||||
|
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
close(pfd[0]); /* close the read end - we are write only */
|
close(pfd[0]); /* close the read end - we are write only */
|
||||||
|
chdir(app->cwd);
|
||||||
bproc_execdump(pfd[1], BPROC_DUMP_EXEC | BPROC_DUMP_OTHER, app->app, app->argv, app->env);
|
bproc_execdump(pfd[1], BPROC_DUMP_EXEC | BPROC_DUMP_OTHER, app->app, app->argv, app->env);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@ -156,6 +157,11 @@ static int orte_pls_bproc_dump(orte_app_context_t* app, uint8_t** image, size_t*
|
|||||||
*image = image_buffer;
|
*image = image_buffer;
|
||||||
*image_len = tot_offset;
|
*image_len = tot_offset;
|
||||||
|
|
||||||
|
if(tot_offset == 0) {
|
||||||
|
rc = ORTE_ERR_OUT_OF_RESOURCE;
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
close(pfd[0]);
|
close(pfd[0]);
|
||||||
waitpid(pid,0,0);
|
waitpid(pid,0,0);
|
||||||
@ -219,7 +225,7 @@ static int orte_pls_bproc_undump(
|
|||||||
}
|
}
|
||||||
|
|
||||||
bproc_undump(p_image[0]); /* child is now executing */
|
bproc_undump(p_image[0]); /* child is now executing */
|
||||||
opal_output(0, "orte_pls_bproc: bproc_undump failed errno=%d\n", errno);
|
opal_output(0, "orte_pls_bproc: bproc_undump(%d) failed errno=%d\n", p_image[0], errno);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user