1
1

Replace asprintf with opal_asprintf

Silence the flood of warnings from ORTE

Signed-off-by: Ralph H Castain <rhc@open-mpi.org>
Этот коммит содержится в:
Ralph H Castain 2018-10-06 19:32:37 +00:00
родитель 80ee5c858d
Коммит fc81d0d519
83 изменённых файлов: 564 добавлений и 480 удалений

Просмотреть файл

@ -13,7 +13,7 @@
* Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. * Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science * Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -52,6 +52,7 @@
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/util/os_dirpath.h" #include "opal/util/os_dirpath.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/printf.h"
#include "opal/util/basename.h" #include "opal/util/basename.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/mca/crs/crs.h" #include "opal/mca/crs/crs.h"
@ -109,7 +110,7 @@ void orte_errmgr_base_abort(int error_code, char *fmt, ...)
va_start(arglist, fmt); va_start(arglist, fmt);
if( NULL != fmt ) { if( NULL != fmt ) {
char* buffer = NULL; char* buffer = NULL;
vasprintf( &buffer, fmt, arglist ); opal_vasprintf( &buffer, fmt, arglist );
opal_output( 0, "%s", buffer ); opal_output( 0, "%s", buffer );
free( buffer ); free( buffer );
} }
@ -252,8 +253,8 @@ int orte_errmgr_base_update_app_context_for_cr_recovery(orte_job_t *jobdata,
orte_remove_attribute(&new_app_context->attributes, ORTE_APP_PRELOAD_BIN); orte_remove_attribute(&new_app_context->attributes, ORTE_APP_PRELOAD_BIN);
asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid); opal_asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid);
asprintf(&sload, opal_asprintf(&sload,
"%s:%s:%s:%s:%s:%s", "%s:%s:%s:%s:%s:%s",
location_str, location_str,
global_snapshot_ref, global_snapshot_ref,
@ -285,8 +286,8 @@ int orte_errmgr_base_update_app_context_for_cr_recovery(orte_job_t *jobdata,
opal_argv_free(new_app_context->argv); opal_argv_free(new_app_context->argv);
new_app_context->argv = NULL; new_app_context->argv = NULL;
asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid); opal_asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid);
asprintf(&sload, opal_asprintf(&sload,
"%s:%s:%s:%s:%s:%s", "%s:%s:%s:%s:%s:%s",
location_str, location_str,
global_snapshot_ref, global_snapshot_ref,
@ -312,7 +313,7 @@ int orte_errmgr_base_update_app_context_for_cr_recovery(orte_job_t *jobdata,
free(tmp_str); free(tmp_str);
tmp_str = NULL; tmp_str = NULL;
} }
asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid); opal_asprintf(&tmp_str, reference_fmt_str, vpid_snapshot->process_name.vpid);
opal_argv_append(&argc, &(new_app_context->argv), tmp_str); opal_argv_append(&argc, &(new_app_context->argv), tmp_str);
cleanup: cleanup:

Просмотреть файл

@ -151,7 +151,7 @@ static void hnp_abort(int error_code, char *fmt, ...)
/* If there was a message, construct it */ /* If there was a message, construct it */
va_start(arglist, fmt); va_start(arglist, fmt);
if (NULL != fmt) { if (NULL != fmt) {
vasprintf(&outmsg, fmt, arglist); opal_vasprintf(&outmsg, fmt, arglist);
} }
va_end(arglist); va_end(arglist);

Просмотреть файл

@ -150,7 +150,7 @@ static void orted_abort(int error_code, char *fmt, ...)
/* If there was a message, construct it */ /* If there was a message, construct it */
va_start(arglist, fmt); va_start(arglist, fmt);
if (NULL != fmt) { if (NULL != fmt) {
vasprintf(&outmsg, fmt, arglist); opal_vasprintf(&outmsg, fmt, arglist);
} }
va_end(arglist); va_end(arglist);

Просмотреть файл

@ -227,12 +227,12 @@ static int rte_init(void)
* MPI-3 required info key * MPI-3 required info key
*/ */
if (NULL == getenv(OPAL_MCA_PREFIX"orte_ess_num_procs")) { if (NULL == getenv(OPAL_MCA_PREFIX"orte_ess_num_procs")) {
asprintf(&ev1, OPAL_MCA_PREFIX"orte_ess_num_procs=%d", orte_process_info.num_procs); opal_asprintf(&ev1, OPAL_MCA_PREFIX"orte_ess_num_procs=%d", orte_process_info.num_procs);
putenv(ev1); putenv(ev1);
added_num_procs = true; added_num_procs = true;
} }
if (NULL == getenv("OMPI_APP_CTX_NUM_PROCS")) { if (NULL == getenv("OMPI_APP_CTX_NUM_PROCS")) {
asprintf(&ev2, "OMPI_APP_CTX_NUM_PROCS=%d", orte_process_info.num_procs); opal_asprintf(&ev2, "OMPI_APP_CTX_NUM_PROCS=%d", orte_process_info.num_procs);
putenv(ev2); putenv(ev2);
added_app_ctx = true; added_app_ctx = true;
} }
@ -279,7 +279,7 @@ static int rte_init(void)
opal_output_verbose(2, orte_ess_base_framework.framework_output, opal_output_verbose(2, orte_ess_base_framework.framework_output,
"%s transport key %s", "%s transport key %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), string_key); ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), string_key);
asprintf(&envar, OPAL_MCA_PREFIX"orte_precondition_transports=%s", string_key); opal_asprintf(&envar, OPAL_MCA_PREFIX"orte_precondition_transports=%s", string_key);
putenv(envar); putenv(envar);
added_transport_keys = true; added_transport_keys = true;
/* cannot free the envar as that messes up our environ */ /* cannot free the envar as that messes up our environ */

Просмотреть файл

@ -240,14 +240,14 @@ static int rte_init(void)
*/ */
if (NULL == getenv(OPAL_MCA_PREFIX"orte_ess_num_procs")) { if (NULL == getenv(OPAL_MCA_PREFIX"orte_ess_num_procs")) {
char * num_procs; char * num_procs;
asprintf(&num_procs, "%d", orte_process_info.num_procs); opal_asprintf(&num_procs, "%d", orte_process_info.num_procs);
opal_setenv(OPAL_MCA_PREFIX"orte_ess_num_procs", num_procs, true, &environ); opal_setenv(OPAL_MCA_PREFIX"orte_ess_num_procs", num_procs, true, &environ);
free(num_procs); free(num_procs);
added_num_procs = true; added_num_procs = true;
} }
if (NULL == getenv("OMPI_APP_CTX_NUM_PROCS")) { if (NULL == getenv("OMPI_APP_CTX_NUM_PROCS")) {
char * num_procs; char * num_procs;
asprintf(&num_procs, "%d", orte_process_info.num_procs); opal_asprintf(&num_procs, "%d", orte_process_info.num_procs);
opal_setenv("OMPI_APP_CTX_NUM_PROCS", num_procs, true, &environ); opal_setenv("OMPI_APP_CTX_NUM_PROCS", num_procs, true, &environ);
free(num_procs); free(num_procs);
added_app_ctx = true; added_app_ctx = true;
@ -592,13 +592,13 @@ static int fork_hnp(void)
/* tell the daemon to report back its uri so we can connect to it */ /* tell the daemon to report back its uri so we can connect to it */
opal_argv_append(&argc, &argv, "--report-uri"); opal_argv_append(&argc, &argv, "--report-uri");
asprintf(&param, "%d", p[1]); opal_asprintf(&param, "%d", p[1]);
opal_argv_append(&argc, &argv, param); opal_argv_append(&argc, &argv, param);
free(param); free(param);
/* give the daemon a pipe it can watch to tell when we have died */ /* give the daemon a pipe it can watch to tell when we have died */
opal_argv_append(&argc, &argv, "--singleton-died-pipe"); opal_argv_append(&argc, &argv, "--singleton-died-pipe");
asprintf(&param, "%d", death_pipe[0]); opal_asprintf(&param, "%d", death_pipe[0]);
opal_argv_append(&argc, &argv, param); opal_argv_append(&argc, &argv, param);
free(param); free(param);

Просмотреть файл

@ -11,6 +11,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved * All rights reserved
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -22,6 +23,7 @@
#include "orte_config.h" #include "orte_config.h"
#include "opal/util/printf.h"
#include "orte/mca/rml/rml.h" #include "orte/mca/rml/rml.h"
#include "orte/mca/filem/filem.h" #include "orte/mca/filem/filem.h"

Просмотреть файл

@ -12,7 +12,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2012 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -41,6 +41,7 @@
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/printf.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "orte/constants.h" #include "orte/constants.h"
@ -247,8 +248,10 @@ static void filem_base_process_get_remote_path_cmd(orte_process_name_t* sender,
* Determine the absolute path of the file * Determine the absolute path of the file
*/ */
if (filename[0] != '/') { /* if it is not an absolute path already */ if (filename[0] != '/') { /* if it is not an absolute path already */
getcwd(cwd, sizeof(cwd)); if (NULL == getcwd(cwd, sizeof(cwd))) {
asprintf(&tmp_name, "%s/%s", cwd, filename); return;
}
opal_asprintf(&tmp_name, "%s/%s", cwd, filename);
} }
else { else {
tmp_name = strdup(filename); tmp_name = strdup(filename);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved * All rights reserved
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -288,7 +288,7 @@ static int raw_preposition_files(orte_job_t *jdata,
*/ */
cptr = opal_basename(app->app); cptr = opal_basename(app->app);
free(app->app); free(app->app);
asprintf(&app->app, "./%s", cptr); opal_asprintf(&app->app, "./%s", cptr);
free(app->argv[0]); free(app->argv[0]);
app->argv[0] = strdup(app->app); app->argv[0] = strdup(app->app);
fs->remote_target = strdup(app->app); fs->remote_target = strdup(app->app);
@ -894,7 +894,7 @@ static int link_archive(orte_filem_raw_incoming_t *inbnd)
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
inbnd->fullpath)); inbnd->fullpath));
asprintf(&cmd, "tar tf %s", inbnd->fullpath); opal_asprintf(&cmd, "tar tf %s", inbnd->fullpath);
fp = popen(cmd, "r"); fp = popen(cmd, "r");
free(cmd); free(cmd);
if (NULL == fp) { if (NULL == fp) {
@ -1145,25 +1145,41 @@ static void write_handler(int fd, short event, void *cbdata)
} else { } else {
/* unarchive the file */ /* unarchive the file */
if (ORTE_FILEM_TYPE_TAR == sink->type) { if (ORTE_FILEM_TYPE_TAR == sink->type) {
asprintf(&cmd, "tar xf %s", sink->file); opal_asprintf(&cmd, "tar xf %s", sink->file);
} else if (ORTE_FILEM_TYPE_BZIP == sink->type) { } else if (ORTE_FILEM_TYPE_BZIP == sink->type) {
asprintf(&cmd, "tar xjf %s", sink->file); opal_asprintf(&cmd, "tar xjf %s", sink->file);
} else if (ORTE_FILEM_TYPE_GZIP == sink->type) { } else if (ORTE_FILEM_TYPE_GZIP == sink->type) {
asprintf(&cmd, "tar xzf %s", sink->file); opal_asprintf(&cmd, "tar xzf %s", sink->file);
} else { } else {
ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM); ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM);
send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE); send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE);
return; return;
} }
getcwd(homedir, sizeof(homedir)); if (NULL == getcwd(homedir, sizeof(homedir))) {
ORTE_ERROR_LOG(ORTE_ERROR);
send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE);
return;
}
dirname = opal_dirname(sink->fullpath); dirname = opal_dirname(sink->fullpath);
chdir(dirname); if (0 != chdir(dirname)) {
ORTE_ERROR_LOG(ORTE_ERROR);
send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE);
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output, OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler unarchiving file %s with cmd: %s", "%s write:handler unarchiving file %s with cmd: %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
sink->file, cmd)); sink->file, cmd));
system(cmd); if (0 != system(cmd)) {
chdir(homedir); ORTE_ERROR_LOG(ORTE_ERROR);
send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE);
return;
}
if (0 != chdir(homedir)) {
ORTE_ERROR_LOG(ORTE_ERROR);
send_complete(sink->file, ORTE_ERR_FILE_WRITE_FAILURE);
return;
}
free(dirname); free(dirname);
free(cmd); free(cmd);
/* setup the link points */ /* setup the link points */

Просмотреть файл

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2016-2017 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved. * Copyright (c) 2017 IBM Corporation. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
@ -64,6 +64,7 @@
#include "opal/util/os_dirpath.h" #include "opal/util/os_dirpath.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/util/name_fns.h" #include "orte/util/name_fns.h"
@ -224,7 +225,7 @@ orte_iof_base_setup_child(orte_iof_base_io_conf_t *opts, char ***env)
if (!orte_map_stddiag_to_stderr && !orte_map_stddiag_to_stdout ) { if (!orte_map_stddiag_to_stderr && !orte_map_stddiag_to_stdout ) {
/* Set an environment variable that the new child process can use /* Set an environment variable that the new child process can use
to get the fd of the pipe connected to the INTERNAL IOF tag. */ to get the fd of the pipe connected to the INTERNAL IOF tag. */
asprintf(&str, "%d", opts->p_internal[1]); opal_asprintf(&str, "%d", opts->p_internal[1]);
if (NULL != str) { if (NULL != str) {
opal_setenv("OPAL_OUTPUT_STDERR_FD", str, true, env); opal_setenv("OPAL_OUTPUT_STDERR_FD", str, true, env);
free(str); free(str);
@ -318,11 +319,11 @@ int orte_iof_base_setup_output_files(const orte_process_name_t* dst_name,
/* construct the directory where the output files will go */ /* construct the directory where the output files will go */
if (usejobid) { if (usejobid) {
asprintf(&outdir, "%s/%d/rank.%0*lu", dirname, opal_asprintf(&outdir, "%s/%d/rank.%0*lu", dirname,
(int)ORTE_LOCAL_JOBID(proct->name.jobid), (int)ORTE_LOCAL_JOBID(proct->name.jobid),
numdigs, (unsigned long)proct->name.vpid); numdigs, (unsigned long)proct->name.vpid);
} else { } else {
asprintf(&outdir, "%s/rank.%0*lu", dirname, opal_asprintf(&outdir, "%s/rank.%0*lu", dirname,
numdigs, (unsigned long)proct->name.vpid); numdigs, (unsigned long)proct->name.vpid);
} }
/* ensure the directory exists */ /* ensure the directory exists */
@ -333,7 +334,7 @@ int orte_iof_base_setup_output_files(const orte_process_name_t* dst_name,
} }
if (NULL != proct->revstdout && NULL == proct->revstdout->sink) { if (NULL != proct->revstdout && NULL == proct->revstdout->sink) {
/* setup the stdout sink */ /* setup the stdout sink */
asprintf(&outfile, "%s/stdout", outdir); opal_asprintf(&outfile, "%s/stdout", outdir);
fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644); fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644);
free(outfile); free(outfile);
if (fdout < 0) { if (fdout < 0) {
@ -357,7 +358,7 @@ int orte_iof_base_setup_output_files(const orte_process_name_t* dst_name,
proct->revstdout->sink->tag = ORTE_IOF_STDMERGE; // show that it is merged proct->revstdout->sink->tag = ORTE_IOF_STDMERGE; // show that it is merged
proct->revstderr->sink = proct->revstdout->sink; proct->revstderr->sink = proct->revstdout->sink;
} else { } else {
asprintf(&outfile, "%s/stderr", outdir); opal_asprintf(&outfile, "%s/stderr", outdir);
fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644); fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644);
free(outfile); free(outfile);
if (fdout < 0) { if (fdout < 0) {

Просмотреть файл

@ -51,6 +51,7 @@
#include "opal/util/os_dirpath.h" #include "opal/util/os_dirpath.h"
#include "opal/util/os_path.h" #include "opal/util/os_path.h"
#include "opal/util/path.h" #include "opal/util/path.h"
#include "opal/util/printf.h"
#include "opal/util/sys_limits.h" #include "opal/util/sys_limits.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/hwloc/hwloc-internal.h" #include "opal/mca/hwloc/hwloc-internal.h"
@ -436,7 +437,7 @@ int orte_odls_base_default_get_add_procs_data(opal_buffer_t *buffer,
kv = OBJ_NEW(opal_value_t); kv = OBJ_NEW(opal_value_t);
kv->key = strdup(OPAL_PMIX_ALLOC_NETWORK_ID); kv->key = strdup(OPAL_PMIX_ALLOC_NETWORK_ID);
kv->type = OPAL_STRING; kv->type = OPAL_STRING;
asprintf(&kv->data.string, "%s.net", ORTE_JOBID_PRINT(jdata->jobid)); opal_asprintf(&kv->data.string, "%s.net", ORTE_JOBID_PRINT(jdata->jobid));
opal_list_append(&ilist, &kv->super); opal_list_append(&ilist, &kv->super);
/* ask for security keys */ /* ask for security keys */
kv = OBJ_NEW(opal_value_t); kv = OBJ_NEW(opal_value_t);
@ -881,7 +882,9 @@ static int setup_path(orte_app_context_t *app, char **wdir)
* again not match getcwd! This is beyond our control - we are only * again not match getcwd! This is beyond our control - we are only
* ensuring they start out matching. * ensuring they start out matching.
*/ */
getcwd(dir, sizeof(dir)); if (NULL == getcwd(dir, sizeof(dir))) {
return ORTE_ERR_OUT_OF_RESOURCE;
}
*wdir = strdup(dir); *wdir = strdup(dir);
opal_setenv("PWD", dir, true, &app->env); opal_setenv("PWD", dir, true, &app->env);
/* update the initial wdir value too */ /* update the initial wdir value too */
@ -1007,7 +1010,7 @@ void orte_odls_base_spawn_proc(int fd, short sd, void *cbdata)
cd->argv = opal_argv_copy(orte_odls_globals.xtermcmd); cd->argv = opal_argv_copy(orte_odls_globals.xtermcmd);
/* insert the rank into the correct place as a window title */ /* insert the rank into the correct place as a window title */
free(cd->argv[2]); free(cd->argv[2]);
asprintf(&cd->argv[2], "Rank %s", ORTE_VPID_PRINT(child->name.vpid)); opal_asprintf(&cd->argv[2], "Rank %s", ORTE_VPID_PRINT(child->name.vpid));
/* add in the argv from the app */ /* add in the argv from the app */
for (i=0; NULL != app->argv[i]; i++) { for (i=0; NULL != app->argv[i]; i++) {
opal_argv_append_nosize(&cd->argv, app->argv[i]); opal_argv_append_nosize(&cd->argv, app->argv[i]);
@ -1053,7 +1056,7 @@ void orte_odls_base_spawn_proc(int fd, short sd, void *cbdata)
/* if we are indexing the argv by rank, do so now */ /* if we are indexing the argv by rank, do so now */
if (cd->index_argv && !ORTE_FLAG_TEST(jobdat, ORTE_JOB_FLAG_DEBUGGER_DAEMON)) { if (cd->index_argv && !ORTE_FLAG_TEST(jobdat, ORTE_JOB_FLAG_DEBUGGER_DAEMON)) {
char *param; char *param;
asprintf(&param, "%s-%d", cd->argv[0], (int)child->name.vpid); opal_asprintf(&param, "%s-%d", cd->argv[0], (int)child->name.vpid);
free(cd->argv[0]); free(cd->argv[0]);
cd->argv[0] = param; cd->argv[0] = param;
} }
@ -1116,7 +1119,10 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
* bouncing around as we execute various apps, but we will always return * bouncing around as we execute various apps, but we will always return
* to this place as our default directory * to this place as our default directory
*/ */
getcwd(basedir, sizeof(basedir)); if (NULL == getcwd(basedir, sizeof(basedir))) {
ORTE_ACTIVATE_JOB_STATE(NULL, ORTE_JOB_STATE_FAILED_TO_LAUNCH);
goto ERROR_OUT;
}
/* find the jobdat for this job */ /* find the jobdat for this job */
if (NULL == (jobdat = orte_get_job_data_object(job))) { if (NULL == (jobdat = orte_get_job_data_object(job))) {
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND); ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -1304,9 +1310,9 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
if (NULL != mpiexec_pathenv) { if (NULL != mpiexec_pathenv) {
argvptr = NULL; argvptr = NULL;
if (pathenv != NULL) { if (pathenv != NULL) {
asprintf(&full_search, "%s:%s", mpiexec_pathenv, pathenv); opal_asprintf(&full_search, "%s:%s", mpiexec_pathenv, pathenv);
} else { } else {
asprintf(&full_search, "%s", mpiexec_pathenv); opal_asprintf(&full_search, "%s", mpiexec_pathenv);
} }
opal_setenv("PATH", full_search, true, &argvptr); opal_setenv("PATH", full_search, true, &argvptr);
free(full_search); free(full_search);
@ -1364,7 +1370,10 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
* each app was located relative to the prior app, instead of relative * each app was located relative to the prior app, instead of relative
* to their current location * to their current location
*/ */
chdir(basedir); if (0 != chdir(basedir)) {
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_LAUNCH);
goto GETOUT;
}
/* okay, now let's launch all the local procs for this app using the provided fork_local fn */ /* okay, now let's launch all the local procs for this app using the provided fork_local fn */
for (idx=0; idx < orte_local_children->size; idx++) { for (idx=0; idx < orte_local_children->size; idx++) {
@ -1490,7 +1499,9 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
ERROR_OUT: ERROR_OUT:
/* ensure we reset our working directory back to our default location */ /* ensure we reset our working directory back to our default location */
chdir(basedir); if (0 != chdir(basedir)) {
ORTE_ERROR_LOG(ORTE_ERROR);
}
/* release the event */ /* release the event */
OBJ_RELEASE(caddy); OBJ_RELEASE(caddy);
} }
@ -2066,7 +2077,9 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
* bouncing around as we execute this app, but we will always return * bouncing around as we execute this app, but we will always return
* to this place as our default directory * to this place as our default directory
*/ */
getcwd(basedir, sizeof(basedir)); if (NULL == getcwd(basedir, sizeof(basedir))) {
return ORTE_ERR_OUT_OF_RESOURCE;
}
/* find this child's jobdat */ /* find this child's jobdat */
if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) { if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) {
@ -2168,7 +2181,9 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
* each app was located relative to the prior app, instead of relative * each app was located relative to the prior app, instead of relative
* to their current location * to their current location
*/ */
chdir(basedir); if (0 != chdir(basedir)) {
ORTE_ERROR_LOG(ORTE_ERROR);
}
return rc; return rc;
} }

Просмотреть файл

@ -15,7 +15,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2014-2017 Research Organization for Information Science * Copyright (c) 2014-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 Intel, Inc. All rights reserved. * Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -37,6 +37,7 @@
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/path.h" #include "opal/util/path.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/ess/ess.h" #include "orte/mca/ess/ess.h"
@ -179,7 +180,7 @@ void orte_odls_base_start_threads(orte_job_t *jdata)
orte_odls_globals.ev_bases = orte_odls_globals.ev_bases =
(opal_event_base_t**)malloc(orte_odls_globals.num_threads * sizeof(opal_event_base_t*)); (opal_event_base_t**)malloc(orte_odls_globals.num_threads * sizeof(opal_event_base_t*));
for (i=0; i < orte_odls_globals.num_threads; i++) { for (i=0; i < orte_odls_globals.num_threads; i++) {
asprintf(&tmp, "ORTE-ODLS-%d", i); opal_asprintf(&tmp, "ORTE-ODLS-%d", i);
orte_odls_globals.ev_bases[i] = opal_progress_thread_init(tmp); orte_odls_globals.ev_bases[i] = opal_progress_thread_init(tmp);
opal_argv_append_nosize(&orte_odls_globals.ev_threads, tmp); opal_argv_append_nosize(&orte_odls_globals.ev_threads, tmp);
free(tmp); free(tmp);

Просмотреть файл

@ -14,7 +14,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2014 NVIDIA Corporation. All rights reserved. * Copyright (c) 2014 NVIDIA Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -202,7 +202,7 @@ static char* component_get_addr(void)
gethostname(hn, sizeof(hn)); gethostname(hn, sizeof(hn));
asprintf(&cptr, "gni://%s:%d", hn, getpid()); opal_asprintf(&cptr, "gni://%s:%d", hn, getpid());
opal_output_verbose(10, orte_oob_base_framework.framework_output, opal_output_verbose(10, orte_oob_base_framework.framework_output,
"%s oob:alps: component_get_addr invoked - %s", "%s oob:alps: component_get_addr invoked - %s",

Просмотреть файл

@ -11,7 +11,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2017 Intel, Inc. All rights reserved. * Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -41,6 +41,7 @@
#include "opal/class/opal_bitmap.h" #include "opal/class/opal_bitmap.h"
#include "opal/class/opal_hash_table.h" #include "opal/class/opal_hash_table.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "opal/util/timings.h" #include "opal/util/timings.h"
#include "opal/mca/event/event.h" #include "opal/mca/event/event.h"

Просмотреть файл

@ -2,7 +2,7 @@
/* /*
* Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -17,6 +17,7 @@
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/mca/pmix/pmix.h" #include "opal/mca/pmix/pmix.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/state/state.h" #include "orte/mca/state/state.h"
@ -263,7 +264,7 @@ void orte_oob_base_get_addr(char **uri)
continue; continue;
} }
/* add new value to final one */ /* add new value to final one */
asprintf(&tmp, "%s;%s", final, turi); opal_asprintf(&tmp, "%s;%s", final, turi);
free(turi); free(turi);
free(final); free(final);
final = tmp; final = tmp;

Просмотреть файл

@ -14,7 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2014 NVIDIA Corporation. All rights reserved. * Copyright (c) 2014 NVIDIA Corporation. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
@ -680,7 +680,7 @@ static int component_startup(void)
opal_pointer_array_add(&mca_oob_tcp_component.ev_bases, orte_oob_base.ev_base); opal_pointer_array_add(&mca_oob_tcp_component.ev_bases, orte_oob_base.ev_base);
} else { } else {
for (i=0; i < orte_oob_base.num_threads; i++) { for (i=0; i < orte_oob_base.num_threads; i++) {
asprintf(&tmp, "OOB-TCP-%d", i); opal_asprintf(&tmp, "OOB-TCP-%d", i);
evb = opal_progress_thread_init(tmp); evb = opal_progress_thread_init(tmp);
opal_pointer_array_add(&mca_oob_tcp_component.ev_bases, evb); opal_pointer_array_add(&mca_oob_tcp_component.ev_bases, evb);
opal_argv_append_nosize(&mca_oob_tcp_component.ev_threads, tmp); opal_argv_append_nosize(&mca_oob_tcp_component.ev_threads, tmp);
@ -779,7 +779,7 @@ static char* component_get_addr(void)
NULL != mca_oob_tcp_component.ipv4conns) { NULL != mca_oob_tcp_component.ipv4conns) {
tmp = opal_argv_join(mca_oob_tcp_component.ipv4conns, ','); tmp = opal_argv_join(mca_oob_tcp_component.ipv4conns, ',');
tp = opal_argv_join(mca_oob_tcp_component.ipv4ports, ','); tp = opal_argv_join(mca_oob_tcp_component.ipv4ports, ',');
asprintf(&cptr, "tcp://%s:%s", tmp, tp); opal_asprintf(&cptr, "tcp://%s:%s", tmp, tp);
free(tmp); free(tmp);
free(tp); free(tp);
} }
@ -803,9 +803,9 @@ static char* component_get_addr(void)
tp = opal_argv_join(mca_oob_tcp_component.ipv6ports, ','); tp = opal_argv_join(mca_oob_tcp_component.ipv6ports, ',');
if (NULL == cptr) { if (NULL == cptr) {
/* no ipv4 stuff */ /* no ipv4 stuff */
asprintf(&cptr, "tcp6://[%s]:%s", tmp, tp); opal_asprintf(&cptr, "tcp6://[%s]:%s", tmp, tp);
} else { } else {
asprintf(&tmp2, "%s;tcp6://[%s]:%s", cptr, tmp, tp); opal_asprintf(&tmp2, "%s;tcp6://[%s]:%s", cptr, tmp, tp);
free(cptr); free(cptr);
cptr = tmp2; cptr = tmp2;
} }

Просмотреть файл

@ -13,7 +13,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -394,7 +394,7 @@ static int create_listen(void)
} }
opal_list_append(&mca_oob_tcp_component.listeners, &conn->item); opal_list_append(&mca_oob_tcp_component.listeners, &conn->item);
/* and to our ports */ /* and to our ports */
asprintf(&tconn, "%d", ntohs(((struct sockaddr_in*) &inaddr)->sin_port)); opal_asprintf(&tconn, "%d", ntohs(((struct sockaddr_in*) &inaddr)->sin_port));
opal_argv_append_nosize(&mca_oob_tcp_component.ipv4ports, tconn); opal_argv_append_nosize(&mca_oob_tcp_component.ipv4ports, tconn);
free(tconn); free(tconn);
if (OOB_TCP_DEBUG_CONNECT <= opal_output_get_verbosity(orte_oob_base_framework.framework_output)) { if (OOB_TCP_DEBUG_CONNECT <= opal_output_get_verbosity(orte_oob_base_framework.framework_output)) {
@ -635,7 +635,7 @@ static int create_listen6(void)
conn->port = ntohs(((struct sockaddr_in6*) &inaddr)->sin6_port); conn->port = ntohs(((struct sockaddr_in6*) &inaddr)->sin6_port);
opal_list_append(&mca_oob_tcp_component.listeners, &conn->item); opal_list_append(&mca_oob_tcp_component.listeners, &conn->item);
/* and to our ports */ /* and to our ports */
asprintf(&tconn, "%d", ntohs(((struct sockaddr_in6*) &inaddr)->sin6_port)); opal_asprintf(&tconn, "%d", ntohs(((struct sockaddr_in6*) &inaddr)->sin6_port));
opal_argv_append_nosize(&mca_oob_tcp_component.ipv6ports, tconn); opal_argv_append_nosize(&mca_oob_tcp_component.ipv6ports, tconn);
free(tconn); free(tconn);
if (OOB_TCP_DEBUG_CONNECT <= opal_output_get_verbosity(orte_oob_base_framework.framework_output)) { if (OOB_TCP_DEBUG_CONNECT <= opal_output_get_verbosity(orte_oob_base_framework.framework_output)) {

Просмотреть файл

@ -13,7 +13,7 @@
* Copyright (c) 2006-2011 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2006-2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights * Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -273,7 +273,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
/* number of processors needed */ /* number of processors needed */
opal_argv_append(&argc, &argv, "-n"); opal_argv_append(&argc, &argv, "-n");
asprintf(&tmp, "%lu", (unsigned long) map->num_new_daemons); opal_asprintf(&tmp, "%lu", (unsigned long) map->num_new_daemons);
opal_argv_append(&argc, &argv, tmp); opal_argv_append(&argc, &argv, tmp);
free(tmp); free(tmp);
opal_argv_append(&argc, &argv, "-N"); opal_argv_append(&argc, &argv, "-N");
@ -601,9 +601,9 @@ static int plm_alps_start_proc(int argc, char **argv, char **env,
/* Reset PATH */ /* Reset PATH */
oldenv = getenv("PATH"); oldenv = getenv("PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
asprintf(&newenv, "%s/%s:%s", prefix, bin_base, oldenv); opal_asprintf(&newenv, "%s/%s:%s", prefix, bin_base, oldenv);
} else { } else {
asprintf(&newenv, "%s/%s", prefix, bin_base); opal_asprintf(&newenv, "%s/%s", prefix, bin_base);
} }
opal_setenv("PATH", newenv, true, &env); opal_setenv("PATH", newenv, true, &env);
if (mca_plm_alps_component.debug) { if (mca_plm_alps_component.debug) {
@ -614,9 +614,9 @@ static int plm_alps_start_proc(int argc, char **argv, char **env,
/* Reset LD_LIBRARY_PATH */ /* Reset LD_LIBRARY_PATH */
oldenv = getenv("LD_LIBRARY_PATH"); oldenv = getenv("LD_LIBRARY_PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
asprintf(&newenv, "%s/%s:%s", prefix, lib_base, oldenv); opal_asprintf(&newenv, "%s/%s:%s", prefix, lib_base, oldenv);
} else { } else {
asprintf(&newenv, "%s/%s", prefix, lib_base); opal_asprintf(&newenv, "%s/%s", prefix, lib_base);
} }
opal_setenv("LD_LIBRARY_PATH", newenv, true, &env); opal_setenv("LD_LIBRARY_PATH", newenv, true, &env);
if (mca_plm_alps_component.debug) { if (mca_plm_alps_component.debug) {

Просмотреть файл

@ -30,6 +30,7 @@
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "orte/mca/plm/plm.h" #include "orte/mca/plm/plm.h"

Просмотреть файл

@ -39,6 +39,7 @@
#include "opal/hash_string.h" #include "opal/hash_string.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "opal/class/opal_pointer_array.h" #include "opal/class/opal_pointer_array.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/hwloc/hwloc-internal.h" #include "opal/mca/hwloc/hwloc-internal.h"
@ -1510,7 +1511,7 @@ int orte_plm_base_orted_append_basic_args(int *argc, char ***argv,
} }
opal_argv_append(argc, argv, "-"OPAL_MCA_CMD_LINE_ID); opal_argv_append(argc, argv, "-"OPAL_MCA_CMD_LINE_ID);
opal_argv_append(argc, argv, "ess_base_num_procs"); opal_argv_append(argc, argv, "ess_base_num_procs");
asprintf(&param, "%lu", num_procs); opal_asprintf(&param, "%lu", num_procs);
opal_argv_append(argc, argv, param); opal_argv_append(argc, argv, param);
free(param); free(param);
@ -1547,7 +1548,7 @@ int orte_plm_base_orted_append_basic_args(int *argc, char ***argv,
/* if requested, pass our port */ /* if requested, pass our port */
if (orte_fwd_mpirun_port) { if (orte_fwd_mpirun_port) {
asprintf(&param, "%d", orte_process_info.my_port); opal_asprintf(&param, "%d", orte_process_info.my_port);
opal_argv_append(argc, argv, "-"OPAL_MCA_CMD_LINE_ID); opal_argv_append(argc, argv, "-"OPAL_MCA_CMD_LINE_ID);
opal_argv_append(argc, argv, "oob_tcp_static_ipv4_ports"); opal_argv_append(argc, argv, "oob_tcp_static_ipv4_ports");
opal_argv_append(argc, argv, param); opal_argv_append(argc, argv, param);

Просмотреть файл

@ -13,7 +13,7 @@
* reserved. * reserved.
* Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. * Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2011 IBM Corporation. All rights reserved. * Copyright (c) 2011 IBM Corporation. All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved. * Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -39,6 +39,7 @@
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "orte/mca/plm/plm.h" #include "orte/mca/plm/plm.h"
#include "orte/mca/plm/base/base.h"
BEGIN_C_DECLS BEGIN_C_DECLS

Просмотреть файл

@ -17,7 +17,7 @@
* reserved. * reserved.
* Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 IBM Corporation. All rights reserved. * Copyright (c) 2011 IBM Corporation. All rights reserved.
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved. * Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -280,7 +280,7 @@ static int rsh_component_query(mca_base_module_t **module, int *priority)
NULL != getenv("SGE_ROOT") && NULL != getenv("ARC") && NULL != getenv("SGE_ROOT") && NULL != getenv("ARC") &&
NULL != getenv("PE_HOSTFILE") && NULL != getenv("JOB_ID")) { NULL != getenv("PE_HOSTFILE") && NULL != getenv("JOB_ID")) {
/* setup the search path for qrsh */ /* setup the search path for qrsh */
asprintf(&tmp, "%s/bin/%s", getenv("SGE_ROOT"), getenv("ARC")); opal_asprintf(&tmp, "%s/bin/%s", getenv("SGE_ROOT"), getenv("ARC"));
/* see if the agent is available */ /* see if the agent is available */
if (ORTE_SUCCESS != rsh_launch_agent_lookup("qrsh", tmp)) { if (ORTE_SUCCESS != rsh_launch_agent_lookup("qrsh", tmp)) {
/* can't be SGE */ /* can't be SGE */

Просмотреть файл

@ -194,7 +194,7 @@ static int rsh_init(void)
/* we were selected, so setup the launch agent */ /* we were selected, so setup the launch agent */
if (mca_plm_rsh_component.using_qrsh) { if (mca_plm_rsh_component.using_qrsh) {
/* perform base setup for qrsh */ /* perform base setup for qrsh */
asprintf(&tmp, "%s/bin/%s", getenv("SGE_ROOT"), getenv("ARC")); opal_asprintf(&tmp, "%s/bin/%s", getenv("SGE_ROOT"), getenv("ARC"));
if (ORTE_SUCCESS != (rc = launch_agent_setup("qrsh", tmp))) { if (ORTE_SUCCESS != (rc = launch_agent_setup("qrsh", tmp))) {
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
free(tmp); free(tmp);
@ -454,12 +454,12 @@ static int setup_launch(int *argcptr, char ***argvptr,
param = opal_basename(opal_install_dirs.libdir); param = opal_basename(opal_install_dirs.libdir);
if (NULL != mca_plm_rsh_component.pass_libpath) { if (NULL != mca_plm_rsh_component.pass_libpath) {
if (NULL != prefix_dir) { if (NULL != prefix_dir) {
asprintf(&lib_base, "%s:%s/%s", mca_plm_rsh_component.pass_libpath, prefix_dir, param); opal_asprintf(&lib_base, "%s:%s/%s", mca_plm_rsh_component.pass_libpath, prefix_dir, param);
} else { } else {
asprintf(&lib_base, "%s:%s", mca_plm_rsh_component.pass_libpath, param); opal_asprintf(&lib_base, "%s:%s", mca_plm_rsh_component.pass_libpath, param);
} }
} else if (NULL != prefix_dir) { } else if (NULL != prefix_dir) {
asprintf(&lib_base, "%s/%s", prefix_dir, param); opal_asprintf(&lib_base, "%s/%s", prefix_dir, param);
} }
free(param); free(param);
@ -473,13 +473,13 @@ static int setup_launch(int *argcptr, char ***argvptr,
*/ */
value = opal_basename(opal_install_dirs.bindir); value = opal_basename(opal_install_dirs.bindir);
asprintf(&bin_base, "%s/%s", prefix_dir, value); opal_asprintf(&bin_base, "%s/%s", prefix_dir, value);
free(value); free(value);
if (NULL != orted_cmd) { if (NULL != orted_cmd) {
if (0 == strcmp(orted_cmd, "orted")) { if (0 == strcmp(orted_cmd, "orted")) {
/* if the cmd is our standard one, then add the prefix */ /* if the cmd is our standard one, then add the prefix */
(void)asprintf(&full_orted_cmd, "%s/%s", bin_base, orted_cmd); opal_asprintf(&full_orted_cmd, "%s/%s", bin_base, orted_cmd);
} else { } else {
/* someone specified something different, so don't prefix it */ /* someone specified something different, so don't prefix it */
full_orted_cmd = strdup(orted_cmd); full_orted_cmd = strdup(orted_cmd);
@ -499,7 +499,7 @@ static int setup_launch(int *argcptr, char ***argvptr,
* assemble the cmd with the orted_cmd at the end. Otherwise, * assemble the cmd with the orted_cmd at the end. Otherwise,
* we have to insert the orted_prefix in the right place * we have to insert the orted_prefix in the right place
*/ */
(void)asprintf (&final_cmd, opal_asprintf (&final_cmd,
"%s%s%s PATH=%s%s$PATH ; export PATH ; " "%s%s%s PATH=%s%s$PATH ; export PATH ; "
"LD_LIBRARY_PATH=%s%s$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; " "LD_LIBRARY_PATH=%s%s$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; "
"DYLD_LIBRARY_PATH=%s%s$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; " "DYLD_LIBRARY_PATH=%s%s$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; "
@ -529,7 +529,7 @@ static int setup_launch(int *argcptr, char ***argvptr,
* assemble the cmd with the orted_cmd at the end. Otherwise, * assemble the cmd with the orted_cmd at the end. Otherwise,
* we have to insert the orted_prefix in the right place * we have to insert the orted_prefix in the right place
*/ */
(void)asprintf (&final_cmd, opal_asprintf (&final_cmd,
"%s%s%s set path = ( %s $path ) ; " "%s%s%s set path = ( %s $path ) ; "
"if ( $?LD_LIBRARY_PATH == 1 ) " "if ( $?LD_LIBRARY_PATH == 1 ) "
"set OMPI_have_llp ; " "set OMPI_have_llp ; "
@ -581,7 +581,7 @@ static int setup_launch(int *argcptr, char ***argvptr,
} }
} else { } else {
/* no prefix directory, so just aggregate the result */ /* no prefix directory, so just aggregate the result */
(void)asprintf(&final_cmd, "%s %s", opal_asprintf(&final_cmd, "%s %s",
(orted_prefix != NULL ? orted_prefix : ""), (orted_prefix != NULL ? orted_prefix : ""),
(full_orted_cmd != NULL ? full_orted_cmd : "")); (full_orted_cmd != NULL ? full_orted_cmd : ""));
if (NULL != full_orted_cmd) { if (NULL != full_orted_cmd) {
@ -1245,7 +1245,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
free(argv[node_name_index1]); free(argv[node_name_index1]);
username = NULL; username = NULL;
if (orte_get_attribute(&node->attributes, ORTE_NODE_USERNAME, (void**)&username, OPAL_STRING)) { if (orte_get_attribute(&node->attributes, ORTE_NODE_USERNAME, (void**)&username, OPAL_STRING)) {
(void)asprintf (&argv[node_name_index1], "%s@%s", opal_asprintf (&argv[node_name_index1], "%s@%s",
username, node->name); username, node->name);
free(username); free(username);
} else { } else {

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2006-2018 Cisco Systems, Inc. All rights reserved * Copyright (c) 2006-2018 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights * Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -249,7 +249,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
} }
/* need integer value for command line parameter */ /* need integer value for command line parameter */
asprintf(&jobid_string, "%lu", (unsigned long) daemons->jobid); opal_asprintf(&jobid_string, "%lu", (unsigned long) daemons->jobid);
/* /*
* start building argv array * start building argv array
@ -333,17 +333,17 @@ static void launch_daemons(int fd, short args, void *cbdata)
* require any further arguments * require any further arguments
*/ */
if (map->num_new_daemons < orte_num_allocated_nodes) { if (map->num_new_daemons < orte_num_allocated_nodes) {
asprintf(&tmp, "--nodes=%lu", (unsigned long)map->num_new_daemons); opal_asprintf(&tmp, "--nodes=%lu", (unsigned long)map->num_new_daemons);
opal_argv_append(&argc, &argv, tmp); opal_argv_append(&argc, &argv, tmp);
free(tmp); free(tmp);
asprintf(&tmp, "--nodelist=%s", nodelist_flat); opal_asprintf(&tmp, "--nodelist=%s", nodelist_flat);
opal_argv_append(&argc, &argv, tmp); opal_argv_append(&argc, &argv, tmp);
free(tmp); free(tmp);
} }
/* tell srun how many tasks to run */ /* tell srun how many tasks to run */
asprintf(&tmp, "--ntasks=%lu", (unsigned long)map->num_new_daemons); opal_asprintf(&tmp, "--ntasks=%lu", (unsigned long)map->num_new_daemons);
opal_argv_append(&argc, &argv, tmp); opal_argv_append(&argc, &argv, tmp);
free(tmp); free(tmp);
@ -637,9 +637,9 @@ static int plm_slurm_start_proc(int argc, char **argv, char **env,
/* Reset PATH */ /* Reset PATH */
oldenv = getenv("PATH"); oldenv = getenv("PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
asprintf(&newenv, "%s/%s:%s", prefix, bin_base, oldenv); opal_asprintf(&newenv, "%s/%s:%s", prefix, bin_base, oldenv);
} else { } else {
asprintf(&newenv, "%s/%s", prefix, bin_base); opal_asprintf(&newenv, "%s/%s", prefix, bin_base);
} }
opal_setenv("PATH", newenv, true, &env); opal_setenv("PATH", newenv, true, &env);
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output, OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
@ -651,9 +651,9 @@ static int plm_slurm_start_proc(int argc, char **argv, char **env,
/* Reset LD_LIBRARY_PATH */ /* Reset LD_LIBRARY_PATH */
oldenv = getenv("LD_LIBRARY_PATH"); oldenv = getenv("LD_LIBRARY_PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
asprintf(&newenv, "%s/%s:%s", prefix, lib_base, oldenv); opal_asprintf(&newenv, "%s/%s:%s", prefix, lib_base, oldenv);
} else { } else {
asprintf(&newenv, "%s/%s", prefix, lib_base); opal_asprintf(&newenv, "%s/%s", prefix, lib_base);
} }
opal_setenv("LD_LIBRARY_PATH", newenv, true, &env); opal_setenv("LD_LIBRARY_PATH", newenv, true, &env);
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output, OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007-2012 Los Alamos National Security, LLC. All rights * Copyright (c) 2007-2012 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -298,7 +298,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
/* add our umask -- see big note in orted.c */ /* add our umask -- see big note in orted.c */
current_umask = umask(0); current_umask = umask(0);
umask(current_umask); umask(current_umask);
(void)asprintf(&var, "0%o", current_umask); opal_asprintf(&var, "0%o", current_umask);
opal_setenv("ORTE_DAEMON_UMASK_VALUE", var, true, &env); opal_setenv("ORTE_DAEMON_UMASK_VALUE", var, true, &env);
free(var); free(var);
@ -316,7 +316,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
for (i = 0; NULL != env && NULL != env[i]; ++i) { for (i = 0; NULL != env && NULL != env[i]; ++i) {
/* Reset PATH */ /* Reset PATH */
if (0 == strncmp("PATH=", env[i], 5)) { if (0 == strncmp("PATH=", env[i], 5)) {
(void)asprintf(&newenv, "%s/%s:%s", opal_asprintf(&newenv, "%s/%s:%s",
prefix_dir, bin_base, env[i] + 5); prefix_dir, bin_base, env[i] + 5);
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output, OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:tm: resetting PATH: %s", "%s plm:tm: resetting PATH: %s",
@ -328,7 +328,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
/* Reset LD_LIBRARY_PATH */ /* Reset LD_LIBRARY_PATH */
else if (0 == strncmp("LD_LIBRARY_PATH=", env[i], 16)) { else if (0 == strncmp("LD_LIBRARY_PATH=", env[i], 16)) {
(void)asprintf(&newenv, "%s/%s:%s", opal_asprintf(&newenv, "%s/%s:%s",
prefix_dir, lib_base, env[i] + 16); prefix_dir, lib_base, env[i] + 16);
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output, OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:tm: resetting LD_LIBRARY_PATH: %s", "%s plm:tm: resetting LD_LIBRARY_PATH: %s",

Просмотреть файл

@ -13,6 +13,7 @@
* Copyright (c) 2008 UT-Battelle, LLC * Copyright (c) 2008 UT-Battelle, LLC
* Copyright (c) 2011-2015 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2015 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -111,7 +112,7 @@ get_res_id(void)
return 0; return 0;
} }
ret = asprintf (&apstat_cmd, "%s -r", ras_alps_apstat_cmd); ret = opal_asprintf (&apstat_cmd, "%s -r", ras_alps_apstat_cmd);
if (0 > ret) { if (0 > ret) {
return 0; return 0;
} }

Просмотреть файл

@ -13,7 +13,7 @@
* Copyright (c) 2008 UT-Battelle, LLC. All rights reserved. * Copyright (c) 2008 UT-Battelle, LLC. All rights reserved.
* Copyright (c) 2011-2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -144,7 +144,7 @@ parser_ini(char **val_if_found, FILE *fp, const char *var_name)
return ORTE_ERR_FILE_OPEN_FAILURE; return ORTE_ERR_FILE_OPEN_FAILURE;
} }
/* Success! */ /* Success! */
asprintf(val_if_found, "%s/appinfo", cpq); opal_asprintf(val_if_found, "%s/appinfo", cpq);
if (NULL == val_if_found) { if (NULL == val_if_found) {
free(alps_config_str); free(alps_config_str);
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE); ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
@ -211,7 +211,7 @@ parser_separated_columns(char **val_if_found, FILE *fp, const char *var_name)
return ORTE_ERR_FILE_OPEN_FAILURE; return ORTE_ERR_FILE_OPEN_FAILURE;
} }
/* Success! */ /* Success! */
asprintf(val_if_found, "%s/appinfo", cpq); opal_asprintf(val_if_found, "%s/appinfo", cpq);
if (NULL == val_if_found) { if (NULL == val_if_found) {
free(alps_config_str); free(alps_config_str);
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE); ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
@ -508,7 +508,7 @@ orte_ras_alps_read_appinfo_file(opal_list_t *nodes, char *filename,
opal_output_verbose(5, orte_ras_base_framework.framework_output, opal_output_verbose(5, orte_ras_base_framework.framework_output,
"ras:alps:read_appinfo: got NID %d", apSlots[ix].nid); "ras:alps:read_appinfo: got NID %d", apSlots[ix].nid);
asprintf( &hostname, "%d", apSlots[ix].nid ); opal_asprintf( &hostname, "%d", apSlots[ix].nid );
if (NULL == hostname) { if (NULL == hostname) {
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE); ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
return ORTE_ERR_OUT_OF_RESOURCE; return ORTE_ERR_OUT_OF_RESOURCE;
@ -555,7 +555,7 @@ orte_ras_alps_read_appinfo_file(opal_list_t *nodes, char *filename,
opal_output_verbose(5, orte_ras_base_framework.framework_output, opal_output_verbose(5, orte_ras_base_framework.framework_output,
"ras:alps:read_appinfo(modern): processing NID %d with %d slots", "ras:alps:read_appinfo(modern): processing NID %d with %d slots",
apNodes[ix].nid, apNodes[ix].numPEs); apNodes[ix].nid, apNodes[ix].numPEs);
asprintf( &hostname, "%d", apNodes[ix].nid ); opal_asprintf( &hostname, "%d", apNodes[ix].nid );
if (NULL == hostname) { if (NULL == hostname) {
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE); ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
return ORTE_ERR_OUT_OF_RESOURCE; return ORTE_ERR_OUT_OF_RESOURCE;

Просмотреть файл

@ -11,7 +11,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,6 +29,8 @@
*/ */
#include "orte_config.h" #include "orte_config.h"
#include "opal/util/printf.h"
#include "orte/mca/ras/ras.h" #include "orte/mca/ras/ras.h"
/* /*
* Global functions for MCA overall collective open and close * Global functions for MCA overall collective open and close

Просмотреть файл

@ -32,6 +32,7 @@
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/printf.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/mca/if/if.h" #include "opal/mca/if/if.h"
@ -61,9 +62,9 @@ void orte_ras_base_display_alloc(void)
orte_node_t *alloc; orte_node_t *alloc;
if (orte_xml_output) { if (orte_xml_output) {
asprintf(&tmp, "<allocation>\n"); opal_asprintf(&tmp, "<allocation>\n");
} else { } else {
asprintf(&tmp, "\n====================== ALLOCATED NODES ======================\n"); opal_asprintf(&tmp, "\n====================== ALLOCATED NODES ======================\n");
} }
if (orte_hnp_is_allocated) { if (orte_hnp_is_allocated) {
istart = 0; istart = 0;
@ -76,11 +77,11 @@ void orte_ras_base_display_alloc(void)
} }
if (orte_xml_output) { if (orte_xml_output) {
/* need to create the output in XML format */ /* need to create the output in XML format */
asprintf(&tmp2, "\t<host name=\"%s\" slots=\"%d\" max_slots=\"%d\" slots_inuse=\"%d\">\n", opal_asprintf(&tmp2, "\t<host name=\"%s\" slots=\"%d\" max_slots=\"%d\" slots_inuse=\"%d\">\n",
(NULL == alloc->name) ? "UNKNOWN" : alloc->name, (NULL == alloc->name) ? "UNKNOWN" : alloc->name,
(int)alloc->slots, (int)alloc->slots_max, (int)alloc->slots_inuse); (int)alloc->slots, (int)alloc->slots_max, (int)alloc->slots_inuse);
} else { } else {
asprintf(&tmp2, "\t%s: flags=0x%02x slots=%d max_slots=%d slots_inuse=%d state=%s\n", opal_asprintf(&tmp2, "\t%s: flags=0x%02x slots=%d max_slots=%d slots_inuse=%d state=%s\n",
(NULL == alloc->name) ? "UNKNOWN" : alloc->name, alloc->flags, (NULL == alloc->name) ? "UNKNOWN" : alloc->name, alloc->flags,
(int)alloc->slots, (int)alloc->slots_max, (int)alloc->slots_inuse, (int)alloc->slots, (int)alloc->slots_max, (int)alloc->slots_inuse,
orte_node_state_to_str(alloc->state)); orte_node_state_to_str(alloc->state));
@ -88,7 +89,7 @@ void orte_ras_base_display_alloc(void)
if (NULL == tmp) { if (NULL == tmp) {
tmp = tmp2; tmp = tmp2;
} else { } else {
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;

Просмотреть файл

@ -249,7 +249,7 @@ static int allocate(orte_job_t *jdata, opal_list_t *nodes)
for (i=0; i < num_nodes; i++) { for (i=0; i < num_nodes; i++) {
node = OBJ_NEW(orte_node_t); node = OBJ_NEW(orte_node_t);
asprintf(&node->name, "%s%0*d", prefix, dig, i); opal_asprintf(&node->name, "%s%0*d", prefix, dig, i);
node->state = ORTE_NODE_STATE_UP; node->state = ORTE_NODE_STATE_UP;
node->slots_inuse = 0; node->slots_inuse = 0;
if (NULL == max_slot_cnt || NULL == max_slot_cnt[n]) { if (NULL == max_slot_cnt || NULL == max_slot_cnt[n]) {

Просмотреть файл

@ -13,7 +13,7 @@
* Copyright (c) 2011-2017 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2017 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013-2014 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016 IBM Corporation. All rights reserved. * Copyright (c) 2016 IBM Corporation. All rights reserved.
@ -1017,7 +1017,7 @@ static int dyn_allocate(orte_job_t *jdata)
opal_argv_append_nosize(&cmd, "allocate"); opal_argv_append_nosize(&cmd, "allocate");
/* add the jobid */ /* add the jobid */
orte_util_convert_jobid_to_string(&jstring, jdata->jobid); orte_util_convert_jobid_to_string(&jstring, jdata->jobid);
asprintf(&tmp, "jobid=%s", jstring); opal_asprintf(&tmp, "jobid=%s", jstring);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(tmp); free(tmp);
free(jstring); free(jstring);
@ -1036,7 +1036,7 @@ static int dyn_allocate(orte_job_t *jdata)
#endif #endif
/* pass the timeout */ /* pass the timeout */
asprintf(&tmp, "timeout=%d", mca_ras_slurm_component.timeout); opal_asprintf(&tmp, "timeout=%d", mca_ras_slurm_component.timeout);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(tmp); free(tmp);
@ -1047,16 +1047,16 @@ static int dyn_allocate(orte_job_t *jdata)
continue; continue;
} }
/* add the app id, preceded by a colon separator */ /* add the app id, preceded by a colon separator */
asprintf(&tmp, ": app=%d", (int)app->idx); opal_asprintf(&tmp, ": app=%d", (int)app->idx);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(tmp); free(tmp);
/* add the number of process "slots" we need */ /* add the number of process "slots" we need */
asprintf(&tmp, "np=%d", app->num_procs); opal_asprintf(&tmp, "np=%d", app->num_procs);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(tmp); free(tmp);
/* if we were given a minimum number of nodes, pass it along */ /* if we were given a minimum number of nodes, pass it along */
if (orte_get_attribute(&app->attributes, ORTE_APP_MIN_NODES, (void**)&i64ptr, OPAL_INT64)) { if (orte_get_attribute(&app->attributes, ORTE_APP_MIN_NODES, (void**)&i64ptr, OPAL_INT64)) {
asprintf(&tmp, "N=%ld", (long int)i64); opal_asprintf(&tmp, "N=%ld", (long int)i64);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(tmp); free(tmp);
} }
@ -1065,7 +1065,7 @@ static int dyn_allocate(orte_job_t *jdata)
*/ */
node_list = get_node_list(app); node_list = get_node_list(app);
if (NULL != node_list) { if (NULL != node_list) {
asprintf(&tmp, "node_list=%s", node_list); opal_asprintf(&tmp, "node_list=%s", node_list);
opal_argv_append_nosize(&cmd, tmp); opal_argv_append_nosize(&cmd, tmp);
free(node_list); free(node_list);
free(tmp); free(tmp);

Просмотреть файл

@ -22,6 +22,7 @@
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/basename.h" #include "opal/util/basename.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_globals.h"
#include "orte/util/name_fns.h" #include "orte/util/name_fns.h"
@ -365,9 +366,9 @@ int orte_regx_base_encode_nodemap(opal_buffer_t *buffer)
while (NULL != (item = opal_list_remove_first(&slots))) { while (NULL != (item = opal_list_remove_first(&slots))) {
rng = (orte_regex_range_t*)item; rng = (orte_regex_range_t*)item;
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%d[%d]", rng->cnt, rng->slots); opal_asprintf(&tmp, "%d[%d]", rng->cnt, rng->slots);
} else { } else {
asprintf(&tmp2, "%s,%d[%d]", tmp, rng->cnt, rng->slots); opal_asprintf(&tmp2, "%s,%d[%d]", tmp, rng->cnt, rng->slots);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -391,9 +392,9 @@ int orte_regx_base_encode_nodemap(opal_buffer_t *buffer)
while (NULL != (item = opal_list_remove_first(&flags))) { while (NULL != (item = opal_list_remove_first(&flags))) {
rng = (orte_regex_range_t*)item; rng = (orte_regex_range_t*)item;
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%d[%d]", rng->cnt, rng->slots); opal_asprintf(&tmp, "%d[%d]", rng->cnt, rng->slots);
} else { } else {
asprintf(&tmp2, "%s,%d[%d]", tmp, rng->cnt, rng->slots); opal_asprintf(&tmp2, "%s,%d[%d]", tmp, rng->cnt, rng->slots);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -440,9 +441,9 @@ int orte_regx_base_encode_nodemap(opal_buffer_t *buffer)
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == rng->t) ? "NULL" : rng->t->sig, rng->cnt); (NULL == rng->t) ? "NULL" : rng->t->sig, rng->cnt);
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%d", rng->cnt); opal_asprintf(&tmp, "%d", rng->cnt);
} else { } else {
asprintf(&tmp2, "%s,%d", tmp, rng->cnt); opal_asprintf(&tmp2, "%s,%d", tmp, rng->cnt);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -845,17 +846,17 @@ int orte_regx_base_generate_ppn(orte_job_t *jdata, char **ppn)
OPAL_LIST_FOREACH(prng, &prk[n], orte_nidmap_regex_t) { OPAL_LIST_FOREACH(prng, &prk[n], orte_nidmap_regex_t) {
if (1 < prng->cnt) { if (1 < prng->cnt) {
if (NULL == ptmp) { if (NULL == ptmp) {
asprintf(&ptmp, "%u(%u)", prng->nprocs, prng->cnt); opal_asprintf(&ptmp, "%u(%u)", prng->nprocs, prng->cnt);
} else { } else {
asprintf(&tmp2, "%s,%u(%u)", ptmp, prng->nprocs, prng->cnt); opal_asprintf(&tmp2, "%s,%u(%u)", ptmp, prng->nprocs, prng->cnt);
free(ptmp); free(ptmp);
ptmp = tmp2; ptmp = tmp2;
} }
} else { } else {
if (NULL == ptmp) { if (NULL == ptmp) {
asprintf(&ptmp, "%u", prng->nprocs); opal_asprintf(&ptmp, "%u", prng->nprocs);
} else { } else {
asprintf(&tmp2, "%s,%u", ptmp, prng->nprocs); opal_asprintf(&tmp2, "%s,%u", ptmp, prng->nprocs);
free(ptmp); free(ptmp);
ptmp = tmp2; ptmp = tmp2;
} }

Просмотреть файл

@ -239,7 +239,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
if (0 == opal_list_get_size(&ndreg->ranges)) { if (0 == opal_list_get_size(&ndreg->ranges)) {
if (NULL != ndreg->prefix) { if (NULL != ndreg->prefix) {
/* solitary node */ /* solitary node */
asprintf(&tmp, "%s", ndreg->prefix); opal_asprintf(&tmp, "%s", ndreg->prefix);
opal_argv_append_nosize(&regexargs, tmp); opal_argv_append_nosize(&regexargs, tmp);
free(tmp); free(tmp);
} }
@ -248,17 +248,17 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
} }
/* start the regex for this nodeid with the prefix */ /* start the regex for this nodeid with the prefix */
if (NULL != ndreg->prefix) { if (NULL != ndreg->prefix) {
asprintf(&tmp, "%s[%d:", ndreg->prefix, ndreg->num_digits); opal_asprintf(&tmp, "%s[%d:", ndreg->prefix, ndreg->num_digits);
} else { } else {
asprintf(&tmp, "[%d:", ndreg->num_digits); opal_asprintf(&tmp, "[%d:", ndreg->num_digits);
} }
/* add the ranges */ /* add the ranges */
while (NULL != (itm2 = opal_list_remove_first(&ndreg->ranges))) { while (NULL != (itm2 = opal_list_remove_first(&ndreg->ranges))) {
range = (orte_regex_range_t*)itm2; range = (orte_regex_range_t*)itm2;
if (1 == range->cnt) { if (1 == range->cnt) {
asprintf(&tmp2, "%s%u,", tmp, range->vpid); opal_asprintf(&tmp2, "%s%u,", tmp, range->vpid);
} else { } else {
asprintf(&tmp2, "%s%u-%u,", tmp, range->vpid, range->vpid + range->cnt - 1); opal_asprintf(&tmp2, "%s%u-%u,", tmp, range->vpid, range->vpid + range->cnt - 1);
} }
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
@ -268,7 +268,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
tmp[strlen(tmp)-1] = ']'; tmp[strlen(tmp)-1] = ']';
if (NULL != ndreg->suffix) { if (NULL != ndreg->suffix) {
/* add in the suffix, if provided */ /* add in the suffix, if provided */
asprintf(&tmp2, "%s%s", tmp, ndreg->suffix); opal_asprintf(&tmp2, "%s%s", tmp, ndreg->suffix);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -289,17 +289,17 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
rng = (orte_regex_range_t*)item; rng = (orte_regex_range_t*)item;
if (1 < rng->cnt) { if (1 < rng->cnt) {
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%u(%u)", rng->vpid, rng->cnt); opal_asprintf(&tmp, "%u(%u)", rng->vpid, rng->cnt);
} else { } else {
asprintf(&tmp2, "%s,%u(%u)", tmp, rng->vpid, rng->cnt); opal_asprintf(&tmp2, "%s,%u(%u)", tmp, rng->vpid, rng->cnt);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
} else { } else {
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%u", rng->vpid); opal_asprintf(&tmp, "%u", rng->vpid);
} else { } else {
asprintf(&tmp2, "%s,%u", tmp, rng->vpid); opal_asprintf(&tmp2, "%s,%u", tmp, rng->vpid);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -309,7 +309,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
OPAL_LIST_DESTRUCT(&dvpids); OPAL_LIST_DESTRUCT(&dvpids);
/* now concatenate the results into one string */ /* now concatenate the results into one string */
asprintf(&tmp2, "%s@%s", nodenames, tmp); opal_asprintf(&tmp2, "%s@%s", nodenames, tmp);
free(nodenames); free(nodenames);
free(tmp); free(tmp);
*regex = tmp2; *regex = tmp2;

Просмотреть файл

@ -253,7 +253,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
if (0 == opal_list_get_size(&ndreg->ranges)) { if (0 == opal_list_get_size(&ndreg->ranges)) {
if (NULL != ndreg->prefix) { if (NULL != ndreg->prefix) {
/* solitary node */ /* solitary node */
asprintf(&tmp, "%s", ndreg->prefix); opal_asprintf(&tmp, "%s", ndreg->prefix);
opal_argv_append_nosize(&regexargs, tmp); opal_argv_append_nosize(&regexargs, tmp);
free(tmp); free(tmp);
} }
@ -262,17 +262,17 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
} }
/* start the regex for this nodeid with the prefix */ /* start the regex for this nodeid with the prefix */
if (NULL != ndreg->prefix) { if (NULL != ndreg->prefix) {
asprintf(&tmp, "%s[%d:", ndreg->prefix, ndreg->num_digits); opal_asprintf(&tmp, "%s[%d:", ndreg->prefix, ndreg->num_digits);
} else { } else {
asprintf(&tmp, "[%d:", ndreg->num_digits); opal_asprintf(&tmp, "[%d:", ndreg->num_digits);
} }
/* add the ranges */ /* add the ranges */
while (NULL != (itm2 = opal_list_remove_first(&ndreg->ranges))) { while (NULL != (itm2 = opal_list_remove_first(&ndreg->ranges))) {
range = (orte_regex_range_t*)itm2; range = (orte_regex_range_t*)itm2;
if (1 == range->cnt) { if (1 == range->cnt) {
asprintf(&tmp2, "%s%u,", tmp, range->vpid); opal_asprintf(&tmp2, "%s%u,", tmp, range->vpid);
} else { } else {
asprintf(&tmp2, "%s%u-%u,", tmp, range->vpid, range->vpid + range->cnt - 1); opal_asprintf(&tmp2, "%s%u-%u,", tmp, range->vpid, range->vpid + range->cnt - 1);
} }
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
@ -282,7 +282,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
tmp[strlen(tmp)-1] = ']'; tmp[strlen(tmp)-1] = ']';
if (NULL != ndreg->suffix) { if (NULL != ndreg->suffix) {
/* add in the suffix, if provided */ /* add in the suffix, if provided */
asprintf(&tmp2, "%s%s", tmp, ndreg->suffix); opal_asprintf(&tmp2, "%s%s", tmp, ndreg->suffix);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -303,17 +303,17 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
rng = (orte_regex_range_t*)item; rng = (orte_regex_range_t*)item;
if (1 < rng->cnt) { if (1 < rng->cnt) {
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%u(%u)", rng->vpid, rng->cnt); opal_asprintf(&tmp, "%u(%u)", rng->vpid, rng->cnt);
} else { } else {
asprintf(&tmp2, "%s,%u(%u)", tmp, rng->vpid, rng->cnt); opal_asprintf(&tmp2, "%s,%u(%u)", tmp, rng->vpid, rng->cnt);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
} else { } else {
if (NULL == tmp) { if (NULL == tmp) {
asprintf(&tmp, "%u", rng->vpid); opal_asprintf(&tmp, "%u", rng->vpid);
} else { } else {
asprintf(&tmp2, "%s,%u", tmp, rng->vpid); opal_asprintf(&tmp2, "%s,%u", tmp, rng->vpid);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -323,7 +323,7 @@ static int nidmap_create(opal_pointer_array_t *pool, char **regex)
OPAL_LIST_DESTRUCT(&dvpids); OPAL_LIST_DESTRUCT(&dvpids);
/* now concatenate the results into one string */ /* now concatenate the results into one string */
asprintf(&tmp2, "%s@%s", nodenames, tmp); opal_asprintf(&tmp2, "%s@%s", nodenames, tmp);
free(nodenames); free(nodenames);
free(tmp); free(tmp);
*regex = tmp2; *regex = tmp2;

Просмотреть файл

@ -33,6 +33,7 @@
#include "orte/types.h" #include "orte/types.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_globals.h"

Просмотреть файл

@ -30,6 +30,7 @@
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/printf.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_globals.h"
@ -283,7 +284,7 @@ static int orte_rmaps_base_open(mca_base_open_flag_t flags)
"rmaps_base_mapping_policy=ppr:<pattern>"); "rmaps_base_mapping_policy=ppr:<pattern>");
/* if the mapping policy is NULL, then we can proceed */ /* if the mapping policy is NULL, then we can proceed */
if (NULL == rmaps_base_mapping_policy) { if (NULL == rmaps_base_mapping_policy) {
asprintf(&rmaps_base_mapping_policy, "ppr:%s", orte_rmaps_base.ppr); opal_asprintf(&rmaps_base_mapping_policy, "ppr:%s", orte_rmaps_base.ppr);
} else { } else {
return ORTE_ERR_SILENT; return ORTE_ERR_SILENT;
} }
@ -453,7 +454,7 @@ static int orte_rmaps_base_open(mca_base_open_flag_t flags)
ORTE_SET_MAPPING_POLICY(orte_rmaps_base.mapping, ORTE_MAPPING_PPR); ORTE_SET_MAPPING_POLICY(orte_rmaps_base.mapping, ORTE_MAPPING_PPR);
ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping, ORTE_MAPPING_GIVEN); ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping, ORTE_MAPPING_GIVEN);
/* define the ppr */ /* define the ppr */
asprintf(&orte_rmaps_base.ppr, "%d:node", orte_rmaps_base_n_pernode); opal_asprintf(&orte_rmaps_base.ppr, "%d:node", orte_rmaps_base_n_pernode);
} }
} }
@ -464,7 +465,7 @@ static int orte_rmaps_base_open(mca_base_open_flag_t flags)
ORTE_SET_MAPPING_POLICY(orte_rmaps_base.mapping, ORTE_MAPPING_PPR); ORTE_SET_MAPPING_POLICY(orte_rmaps_base.mapping, ORTE_MAPPING_PPR);
ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping, ORTE_MAPPING_GIVEN); ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping, ORTE_MAPPING_GIVEN);
/* define the ppr */ /* define the ppr */
asprintf(&orte_rmaps_base.ppr, "%d:socket", orte_rmaps_base_n_persocket); opal_asprintf(&orte_rmaps_base.ppr, "%d:socket", orte_rmaps_base_n_persocket);
} }
} }

Просмотреть файл

@ -10,6 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -166,26 +167,26 @@ char* orte_rmaps_base_print_mapping(orte_mapping_policy_t mapping)
} }
} }
if (0 != strcmp(map, "PPR") && (ORTE_MAPPING_PPR & ORTE_GET_MAPPING_DIRECTIVE(mapping))) { if (0 != strcmp(map, "PPR") && (ORTE_MAPPING_PPR & ORTE_GET_MAPPING_DIRECTIVE(mapping))) {
asprintf(&mymap, "%s[PPR]:", map); opal_asprintf(&mymap, "%s[PPR]:", map);
} else { } else {
asprintf(&mymap, "%s:", map); opal_asprintf(&mymap, "%s:", map);
} }
if (ORTE_MAPPING_NO_USE_LOCAL & ORTE_GET_MAPPING_DIRECTIVE(mapping)) { if (ORTE_MAPPING_NO_USE_LOCAL & ORTE_GET_MAPPING_DIRECTIVE(mapping)) {
asprintf(&tmp, "%sNO_USE_LOCAL,", mymap); opal_asprintf(&tmp, "%sNO_USE_LOCAL,", mymap);
free(mymap); free(mymap);
mymap = tmp; mymap = tmp;
} }
if (ORTE_MAPPING_NO_OVERSUBSCRIBE & ORTE_GET_MAPPING_DIRECTIVE(mapping)) { if (ORTE_MAPPING_NO_OVERSUBSCRIBE & ORTE_GET_MAPPING_DIRECTIVE(mapping)) {
asprintf(&tmp, "%sNOOVERSUBSCRIBE,", mymap); opal_asprintf(&tmp, "%sNOOVERSUBSCRIBE,", mymap);
free(mymap); free(mymap);
mymap = tmp; mymap = tmp;
} else if (ORTE_MAPPING_SUBSCRIBE_GIVEN & ORTE_GET_MAPPING_DIRECTIVE(mapping)) { } else if (ORTE_MAPPING_SUBSCRIBE_GIVEN & ORTE_GET_MAPPING_DIRECTIVE(mapping)) {
asprintf(&tmp, "%sOVERSUBSCRIBE,", mymap); opal_asprintf(&tmp, "%sOVERSUBSCRIBE,", mymap);
free(mymap); free(mymap);
mymap = tmp; mymap = tmp;
} }
if (ORTE_MAPPING_SPAN & ORTE_GET_MAPPING_DIRECTIVE(mapping)) { if (ORTE_MAPPING_SPAN & ORTE_GET_MAPPING_DIRECTIVE(mapping)) {
asprintf(&tmp, "%sSPAN,", mymap); opal_asprintf(&tmp, "%sSPAN,", mymap);
free(mymap); free(mymap);
mymap = tmp; mymap = tmp;
} }

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -20,6 +20,7 @@
#include "orte/types.h" #include "orte/types.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "orte/mca/rtc/rtc.h" #include "orte/mca/rtc/rtc.h"

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2017-2018 Cisco Systems, Inc. All rights reserved * Copyright (c) 2017-2018 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2017 Inria. All rights reserved. * Copyright (c) 2017 Inria. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -135,7 +135,7 @@ static int init(void)
} }
/* create the shmem file in our session dir so it /* create the shmem file in our session dir so it
* will automatically get cleaned up */ * will automatically get cleaned up */
asprintf(&shmemfile, "%s/hwloc.sm", orte_process_info.jobfam_session_dir); opal_asprintf(&shmemfile, "%s/hwloc.sm", orte_process_info.jobfam_session_dir);
/* let's make sure we have enough space for the backing file */ /* let's make sure we have enough space for the backing file */
if (OPAL_SUCCESS != (rc = enough_space(shmemfile, shmemsize, if (OPAL_SUCCESS != (rc = enough_space(shmemfile, shmemsize,
&amount_space_avail, &amount_space_avail,
@ -303,7 +303,7 @@ static void set(orte_job_t *jobdat,
} else { } else {
char *tmp; char *tmp;
(void)hwloc_bitmap_list_asprintf(&tmp, sum->available); (void)hwloc_bitmap_list_asprintf(&tmp, sum->available);
asprintf(&msg, "hwloc_set_cpubind returned \"%s\" for bitmap \"%s\"", opal_asprintf(&msg, "hwloc_set_cpubind returned \"%s\" for bitmap \"%s\"",
opal_strerror(rc), tmp); opal_strerror(rc), tmp);
free(tmp); free(tmp);
} }
@ -335,7 +335,7 @@ static void set(orte_job_t *jobdat,
cpuset = hwloc_bitmap_alloc(); cpuset = hwloc_bitmap_alloc();
if (0 != (rc = hwloc_bitmap_list_sscanf(cpuset, cpu_bitmap))) { if (0 != (rc = hwloc_bitmap_list_sscanf(cpuset, cpu_bitmap))) {
/* See comment above about "This may be a small memory leak" */ /* See comment above about "This may be a small memory leak" */
asprintf(&msg, "hwloc_bitmap_sscanf returned \"%s\" for the string \"%s\"", opal_asprintf(&msg, "hwloc_bitmap_sscanf returned \"%s\" for the string \"%s\"",
opal_strerror(rc), cpu_bitmap); opal_strerror(rc), cpu_bitmap);
if (NULL == msg) { if (NULL == msg) {
msg = "failed to convert bitmap list to hwloc bitmap"; msg = "failed to convert bitmap list to hwloc bitmap";
@ -370,7 +370,7 @@ static void set(orte_job_t *jobdat,
} else if (errno == EXDEV) { } else if (errno == EXDEV) {
msg = "hwloc indicates cpu binding cannot be enforced"; msg = "hwloc indicates cpu binding cannot be enforced";
} else { } else {
asprintf(&msg, "hwloc_set_cpubind returned \"%s\" for bitmap \"%s\"", opal_asprintf(&msg, "hwloc_set_cpubind returned \"%s\" for bitmap \"%s\"",
opal_strerror(rc), cpu_bitmap); opal_strerror(rc), cpu_bitmap);
} }
if (OPAL_BINDING_REQUIRED(jobdat->map->binding)) { if (OPAL_BINDING_REQUIRED(jobdat->map->binding)) {

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved. * Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -20,6 +20,7 @@
#include "orte/types.h" #include "orte/types.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_globals.h"

Просмотреть файл

@ -786,7 +786,7 @@ static int parse_env(char *path,
/* If the user specified --path, store it in the user's app /* If the user specified --path, store it in the user's app
environment via the OMPI_exec_path variable. */ environment via the OMPI_exec_path variable. */
if (NULL != path) { if (NULL != path) {
asprintf(&value, "OMPI_exec_path=%s", path); opal_asprintf(&value, "OMPI_exec_path=%s", path);
opal_argv_append_nosize(dstenv, value); opal_argv_append_nosize(dstenv, value);
/* save it for any comm_spawn'd apps */ /* save it for any comm_spawn'd apps */
opal_argv_append_nosize(&orte_forwarded_envars, value); opal_argv_append_nosize(&orte_forwarded_envars, value);
@ -880,14 +880,14 @@ static int setup_fork(orte_job_t *jdata,
/* Reset PATH */ /* Reset PATH */
if (0 == strncmp("PATH=", app->env[i], 5)) { if (0 == strncmp("PATH=", app->env[i], 5)) {
asprintf(&newenv, "%s/bin:%s", param, app->env[i] + 5); opal_asprintf(&newenv, "%s/bin:%s", param, app->env[i] + 5);
opal_setenv("PATH", newenv, true, &app->env); opal_setenv("PATH", newenv, true, &app->env);
free(newenv); free(newenv);
} }
/* Reset LD_LIBRARY_PATH */ /* Reset LD_LIBRARY_PATH */
else if (0 == strncmp("LD_LIBRARY_PATH=", app->env[i], 16)) { else if (0 == strncmp("LD_LIBRARY_PATH=", app->env[i], 16)) {
asprintf(&newenv, "%s/lib:%s", param, app->env[i] + 16); opal_asprintf(&newenv, "%s/lib:%s", param, app->env[i] + 16);
opal_setenv("LD_LIBRARY_PATH", newenv, true, &app->env); opal_setenv("LD_LIBRARY_PATH", newenv, true, &app->env);
free(newenv); free(newenv);
} }
@ -914,7 +914,7 @@ static int setup_fork(orte_job_t *jdata,
} }
/* set the app_context number into the environment */ /* set the app_context number into the environment */
asprintf(&param, "%ld", (long)app->idx); opal_asprintf(&param, "%ld", (long)app->idx);
opal_setenv("OMPI_MCA_orte_app_num", param, true, &app->env); opal_setenv("OMPI_MCA_orte_app_num", param, true, &app->env);
free(param); free(param);
@ -926,12 +926,12 @@ static int setup_fork(orte_job_t *jdata,
* AND YES - THIS BREAKS THE ABSTRACTION BARRIER TO SOME EXTENT. * AND YES - THIS BREAKS THE ABSTRACTION BARRIER TO SOME EXTENT.
* We know - just live with it * We know - just live with it
*/ */
asprintf(&param, "%ld", (long)jdata->total_slots_alloc); opal_asprintf(&param, "%ld", (long)jdata->total_slots_alloc);
opal_setenv("OMPI_UNIVERSE_SIZE", param, true, &app->env); opal_setenv("OMPI_UNIVERSE_SIZE", param, true, &app->env);
free(param); free(param);
/* pass the number of nodes involved in this job */ /* pass the number of nodes involved in this job */
asprintf(&param, "%ld", (long)(jdata->map->num_nodes)); opal_asprintf(&param, "%ld", (long)(jdata->map->num_nodes));
opal_setenv("OMPI_MCA_orte_num_nodes", param, true, &app->env); opal_setenv("OMPI_MCA_orte_num_nodes", param, true, &app->env);
free(param); free(param);
@ -993,7 +993,7 @@ static int setup_fork(orte_job_t *jdata,
*/ */
opal_unsetenv("OMPI_MCA_orte_ess_name", &app->env); opal_unsetenv("OMPI_MCA_orte_ess_name", &app->env);
asprintf(&param, "%ld", (long)jdata->num_procs); opal_asprintf(&param, "%ld", (long)jdata->num_procs);
opal_setenv("OMPI_MCA_orte_ess_num_procs", param, true, &app->env); opal_setenv("OMPI_MCA_orte_ess_num_procs", param, true, &app->env);
/* although the num_procs is the comm_world size, users /* although the num_procs is the comm_world size, users
@ -1014,7 +1014,7 @@ static int setup_fork(orte_job_t *jdata,
* AND YES - THIS BREAKS THE ABSTRACTION BARRIER TO SOME EXTENT. * AND YES - THIS BREAKS THE ABSTRACTION BARRIER TO SOME EXTENT.
* We know - just live with it * We know - just live with it
*/ */
asprintf(&param, "%ld", (long)jdata->num_local_procs); opal_asprintf(&param, "%ld", (long)jdata->num_local_procs);
opal_setenv("OMPI_COMM_WORLD_LOCAL_SIZE", param, true, &app->env); opal_setenv("OMPI_COMM_WORLD_LOCAL_SIZE", param, true, &app->env);
free(param); free(param);
@ -1028,7 +1028,7 @@ static int setup_fork(orte_job_t *jdata,
* so we pass them as envars to avoid introducing further * so we pass them as envars to avoid introducing further
* ORTE calls in the MPI layer * ORTE calls in the MPI layer
*/ */
asprintf(&num_app_ctx, "%lu", (unsigned long)jdata->num_apps); opal_asprintf(&num_app_ctx, "%lu", (unsigned long)jdata->num_apps);
/* build some common envars we need to pass for MPI-3 compatibility */ /* build some common envars we need to pass for MPI-3 compatibility */
nps = NULL; nps = NULL;
@ -1074,7 +1074,7 @@ static int setup_fork(orte_job_t *jdata,
/* we have the var - prepend it */ /* we have the var - prepend it */
param = saveptr; param = saveptr;
++param; // move past where the '=' sign was ++param; // move past where the '=' sign was
(void)asprintf(&p2, "%s%c%s", attr->data.envar.value, opal_asprintf(&p2, "%s%c%s", attr->data.envar.value,
attr->data.envar.separator, param); attr->data.envar.separator, param);
*saveptr = '='; // restore the current envar setting *saveptr = '='; // restore the current envar setting
opal_setenv(attr->data.envar.envar, p2, true, &app->env); opal_setenv(attr->data.envar.envar, p2, true, &app->env);
@ -1099,7 +1099,7 @@ static int setup_fork(orte_job_t *jdata,
/* we have the var - prepend it */ /* we have the var - prepend it */
param = saveptr; param = saveptr;
++param; // move past where the '=' sign was ++param; // move past where the '=' sign was
(void)asprintf(&p2, "%s%c%s", param, attr->data.envar.separator, opal_asprintf(&p2, "%s%c%s", param, attr->data.envar.separator,
attr->data.envar.value); attr->data.envar.value);
*saveptr = '='; // restore the current envar setting *saveptr = '='; // restore the current envar setting
opal_setenv(attr->data.envar.envar, p2, true, &app->env); opal_setenv(attr->data.envar.envar, p2, true, &app->env);
@ -1135,7 +1135,7 @@ static int setup_fork(orte_job_t *jdata,
/* we have the var - prepend it */ /* we have the var - prepend it */
param = saveptr; param = saveptr;
++param; // move past where the '=' sign was ++param; // move past where the '=' sign was
(void)asprintf(&p2, "%s%c%s", attr->data.envar.value, opal_asprintf(&p2, "%s%c%s", attr->data.envar.value,
attr->data.envar.separator, param); attr->data.envar.separator, param);
*saveptr = '='; // restore the current envar setting *saveptr = '='; // restore the current envar setting
opal_setenv(attr->data.envar.envar, p2, true, &app->env); opal_setenv(attr->data.envar.envar, p2, true, &app->env);
@ -1160,7 +1160,7 @@ static int setup_fork(orte_job_t *jdata,
/* we have the var - prepend it */ /* we have the var - prepend it */
param = saveptr; param = saveptr;
++param; // move past where the '=' sign was ++param; // move past where the '=' sign was
(void)asprintf(&p2, "%s%c%s", param, attr->data.envar.separator, opal_asprintf(&p2, "%s%c%s", param, attr->data.envar.separator,
attr->data.envar.value); attr->data.envar.value);
*saveptr = '='; // restore the current envar setting *saveptr = '='; // restore the current envar setting
opal_setenv(attr->data.envar.envar, p2, true, &app->env); opal_setenv(attr->data.envar.envar, p2, true, &app->env);
@ -1252,7 +1252,7 @@ static int setup_child(orte_job_t *jdata,
rc = ORTE_ERR_VALUE_OUT_OF_BOUNDS; rc = ORTE_ERR_VALUE_OUT_OF_BOUNDS;
return rc; return rc;
} }
asprintf(&value, "%lu", (unsigned long) child->local_rank); opal_asprintf(&value, "%lu", (unsigned long) child->local_rank);
opal_setenv("OMPI_COMM_WORLD_LOCAL_RANK", value, true, env); opal_setenv("OMPI_COMM_WORLD_LOCAL_RANK", value, true, env);
free(value); free(value);
@ -1268,7 +1268,7 @@ static int setup_child(orte_job_t *jdata,
rc = ORTE_ERR_VALUE_OUT_OF_BOUNDS; rc = ORTE_ERR_VALUE_OUT_OF_BOUNDS;
return rc; return rc;
} }
asprintf(&value, "%lu", (unsigned long) child->node_rank); opal_asprintf(&value, "%lu", (unsigned long) child->node_rank);
opal_setenv("OMPI_COMM_WORLD_NODE_RANK", value, true, env); opal_setenv("OMPI_COMM_WORLD_NODE_RANK", value, true, env);
/* set an mca param for it too */ /* set an mca param for it too */
opal_setenv("OMPI_MCA_orte_ess_node_rank", value, true, env); opal_setenv("OMPI_MCA_orte_ess_node_rank", value, true, env);
@ -1289,7 +1289,7 @@ static int setup_child(orte_job_t *jdata,
* an initial start, but procs would like to know if they are being * an initial start, but procs would like to know if they are being
* restarted so they can take appropriate action * restarted so they can take appropriate action
*/ */
asprintf(&value, "%d", nrestarts); opal_asprintf(&value, "%d", nrestarts);
opal_setenv("OMPI_MCA_orte_num_restarts", value, true, env); opal_setenv("OMPI_MCA_orte_num_restarts", value, true, env);
free(value); free(value);
} }

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -68,7 +68,7 @@ static int setup_fork(orte_job_t *jdata, orte_app_context_t *app)
/* Make sure we prepend the path Singularity was called by incase that /* Make sure we prepend the path Singularity was called by incase that
* path is not defined on the nodes */ * path is not defined on the nodes */
if (0 < strlen(OPAL_SINGULARITY_PATH)) { if (0 < strlen(OPAL_SINGULARITY_PATH)) {
if (0 > asprintf(&pth, "%s/singularity", OPAL_SINGULARITY_PATH) ) { if (0 > opal_asprintf(&pth, "%s/singularity", OPAL_SINGULARITY_PATH) ) {
/* Something bad happened, let's move on */ /* Something bad happened, let's move on */
return ORTE_ERR_TAKE_NEXT_OPTION; return ORTE_ERR_TAKE_NEXT_OPTION;
} }
@ -87,7 +87,7 @@ static int setup_fork(orte_job_t *jdata, orte_app_context_t *app)
/* add to PATH */ /* add to PATH */
if (0 == strncmp("PATH=", app->env[i], 5)) { if (0 == strncmp("PATH=", app->env[i], 5)) {
t2 = opal_dirname(pth); t2 = opal_dirname(pth);
if (0 < asprintf(&newenv, "%s:%s", t2, app->env[i] + 5) ) { if (0 < opal_asprintf(&newenv, "%s:%s", t2, app->env[i] + 5) ) {
opal_setenv("PATH", newenv, true, &app->env); opal_setenv("PATH", newenv, true, &app->env);
free(newenv); free(newenv);
} }

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016-2017 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -145,7 +145,7 @@ static int get_remaining_time(uint32_t *timeleft)
if (NULL == (jobid = getenv("SLURM_JOBID"))) { if (NULL == (jobid = getenv("SLURM_JOBID"))) {
return ORTE_ERR_TAKE_NEXT_OPTION; return ORTE_ERR_TAKE_NEXT_OPTION;
} }
if (0 > asprintf(&cmd, "squeue -h -j %s -o %%L", jobid)) { if (0 > opal_asprintf(&cmd, "squeue -h -j %s -o %%L", jobid)) {
return ORTE_ERR_OUT_OF_RESOURCE; return ORTE_ERR_OUT_OF_RESOURCE;
} }
fp = popen(cmd, "r"); fp = popen(cmd, "r");

Просмотреть файл

@ -12,6 +12,7 @@
* Copyright (c) 2007 Evergrid, Inc. All rights reserved. * Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
* *
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -24,6 +25,7 @@
#include "orte_config.h" #include "orte_config.h"
#include "orte/types.h" #include "orte/types.h"
#include "opal/util/printf.h"
#include "orte/mca/snapc/snapc.h" #include "orte/mca/snapc/snapc.h"

Просмотреть файл

@ -9,7 +9,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2007 Evergrid, Inc. All rights reserved. * Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -836,7 +836,7 @@ int orte_snapc_ckpt_state_str(char ** state_str, int state)
*state_str = strdup("Error"); *state_str = strdup("Error");
break; break;
default: default:
asprintf(state_str, "Unknown %d", state); opal_asprintf(state_str, "Unknown %d", state);
break; break;
} }

Просмотреть файл

@ -7,6 +7,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -736,10 +737,10 @@ static int app_define_pipe_names(void)
app_comm_pipe_w = NULL; app_comm_pipe_w = NULL;
} }
asprintf(&app_comm_pipe_r, "%s/%s.%d_%d", opal_asprintf(&app_comm_pipe_r, "%s/%s.%d_%d",
opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_R, opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_R,
(int)getpid(), current_unique_id); (int)getpid(), current_unique_id);
asprintf(&app_comm_pipe_w, "%s/%s.%d_%d", opal_asprintf(&app_comm_pipe_w, "%s/%s.%d_%d",
opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_W, opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_W,
(int)getpid(), current_unique_id); (int)getpid(), current_unique_id);

Просмотреть файл

@ -9,6 +9,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2007 Evergrid, Inc. All rights reserved. * Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* *
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -1278,13 +1279,13 @@ static int local_define_pipe_names(orte_snapc_full_app_snapshot_t *vpid_snapshot
vpid_snapshot->comm_pipe_w = NULL; vpid_snapshot->comm_pipe_w = NULL;
} }
asprintf(&(vpid_snapshot->comm_pipe_w), opal_asprintf(&(vpid_snapshot->comm_pipe_w),
"%s/%s.%d_%d", "%s/%s.%d_%d",
opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_R, opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_R,
vpid_snapshot->process_pid, vpid_snapshot->process_pid,
vpid_snapshot->unique_pipe_id); vpid_snapshot->unique_pipe_id);
asprintf(&(vpid_snapshot->comm_pipe_r), opal_asprintf(&(vpid_snapshot->comm_pipe_r),
"%s/%s.%d_%d", "%s/%s.%d_%d",
opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_W, opal_cr_pipe_dir, OPAL_CR_NAMED_PROG_W,
vpid_snapshot->process_pid, vpid_snapshot->process_pid,

Просмотреть файл

@ -3,6 +3,7 @@
* University Research and Technology * University Research and Technology
* Corporation. All rights reserved. * Corporation. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -14,6 +15,7 @@
#include "orte_config.h" #include "orte_config.h"
#include "opal/util/printf.h"
#include "orte/mca/sstore/sstore.h" #include "orte/mca/sstore/sstore.h"
/* /*

Просмотреть файл

@ -4,6 +4,7 @@
* Copyright (c) 2004-2011 The University of Tennessee and The University * Copyright (c) 2004-2011 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights * of Tennessee Research Foundation. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -203,7 +204,7 @@ int orte_sstore_base_tool_request_restart_handle(orte_sstore_base_handle_t *hand
} else { } else {
snapshot->basedir = strdup(basedir); snapshot->basedir = strdup(basedir);
} }
asprintf(&(snapshot->metadata_filename), opal_asprintf(&(snapshot->metadata_filename),
"%s/%s/%s", "%s/%s/%s",
snapshot->basedir, snapshot->basedir,
snapshot->reference, snapshot->reference,
@ -212,7 +213,7 @@ int orte_sstore_base_tool_request_restart_handle(orte_sstore_base_handle_t *hand
/* /*
* Check the checkpoint location * Check the checkpoint location
*/ */
asprintf(&tmp_str, "%s/%s", opal_asprintf(&tmp_str, "%s/%s",
snapshot->basedir, snapshot->basedir,
snapshot->reference); snapshot->reference);
if (0 > (ret = access(tmp_str, F_OK)) ) { if (0 > (ret = access(tmp_str, F_OK)) ) {
@ -246,7 +247,7 @@ int orte_sstore_base_tool_request_restart_handle(orte_sstore_base_handle_t *hand
/* /*
* Check the checkpoint sequence location * Check the checkpoint sequence location
*/ */
asprintf(&tmp_str, "%s/%s/%d", opal_asprintf(&tmp_str, "%s/%s/%d",
snapshot->basedir, snapshot->basedir,
snapshot->reference, snapshot->reference,
snapshot->seq_num); snapshot->seq_num);
@ -292,7 +293,7 @@ int orte_sstore_base_tool_get_attr(orte_sstore_base_handle_t handle, orte_sstore
int ret, exit_status = ORTE_SUCCESS; int ret, exit_status = ORTE_SUCCESS;
if( SSTORE_METADATA_GLOBAL_SNAP_LOC_ABS == key ) { if( SSTORE_METADATA_GLOBAL_SNAP_LOC_ABS == key ) {
asprintf(value, "%s/%s", opal_asprintf(value, "%s/%s",
tool_global_snapshot->basedir, tool_global_snapshot->basedir,
tool_global_snapshot->reference); tool_global_snapshot->reference);
} }
@ -300,13 +301,13 @@ int orte_sstore_base_tool_get_attr(orte_sstore_base_handle_t handle, orte_sstore
*value = strdup(orte_sstore_base_local_snapshot_fmt); *value = strdup(orte_sstore_base_local_snapshot_fmt);
} }
else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) {
asprintf(value, "%s/%s/%d", opal_asprintf(value, "%s/%s/%d",
tool_global_snapshot->basedir, tool_global_snapshot->basedir,
tool_global_snapshot->reference, tool_global_snapshot->reference,
tool_global_snapshot->seq_num); tool_global_snapshot->seq_num);
} }
else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) {
asprintf(value, "%s/%s/%d/%s", opal_asprintf(value, "%s/%s/%d/%s",
tool_global_snapshot->basedir, tool_global_snapshot->basedir,
tool_global_snapshot->reference, tool_global_snapshot->reference,
tool_global_snapshot->seq_num, tool_global_snapshot->seq_num,
@ -322,7 +323,7 @@ int orte_sstore_base_tool_get_attr(orte_sstore_base_handle_t handle, orte_sstore
goto cleanup; goto cleanup;
} }
} }
asprintf(value, "%d", tool_global_snapshot->num_seqs); opal_asprintf(value, "%d", tool_global_snapshot->num_seqs);
} }
else if( SSTORE_METADATA_GLOBAL_SNAP_ALL_SEQ == key ) { else if( SSTORE_METADATA_GLOBAL_SNAP_ALL_SEQ == key ) {
if( NULL == tool_global_snapshot->all_seqs ) { if( NULL == tool_global_snapshot->all_seqs ) {
@ -356,7 +357,7 @@ int orte_sstore_base_tool_get_attr(orte_sstore_base_handle_t handle, orte_sstore
int orte_sstore_base_get_global_snapshot_ref(char **name_str, pid_t pid) int orte_sstore_base_get_global_snapshot_ref(char **name_str, pid_t pid)
{ {
if( NULL == orte_sstore_base_global_snapshot_ref ) { if( NULL == orte_sstore_base_global_snapshot_ref ) {
asprintf(name_str, "ompi_global_snapshot_%d.ckpt", pid); opal_asprintf(name_str, "ompi_global_snapshot_%d.ckpt", pid);
} }
else { else {
*name_str = strdup(orte_sstore_base_global_snapshot_ref); *name_str = strdup(orte_sstore_base_global_snapshot_ref);
@ -511,7 +512,7 @@ int orte_sstore_base_get_all_snapshots(opal_list_t *all_snapshots, char *basedir
} }
/* Add the full path */ /* Add the full path */
asprintf(&tmp_str, "%s/%s", loc_basedir, dir_entp->d_name); opal_asprintf(&tmp_str, "%s/%s", loc_basedir, dir_entp->d_name);
if(0 != (ret = stat(tmp_str, &file_status) ) ){ if(0 != (ret = stat(tmp_str, &file_status) ) ){
free( tmp_str); free( tmp_str);
tmp_str = NULL; tmp_str = NULL;
@ -519,7 +520,7 @@ int orte_sstore_base_get_all_snapshots(opal_list_t *all_snapshots, char *basedir
} else { } else {
/* Is it a directory? */ /* Is it a directory? */
if(S_ISDIR(file_status.st_mode) ) { if(S_ISDIR(file_status.st_mode) ) {
asprintf(&metadata_file, "%s/%s", opal_asprintf(&metadata_file, "%s/%s",
tmp_str, tmp_str,
orte_sstore_base_global_metadata_filename); orte_sstore_base_global_metadata_filename);
if(0 != (ret = stat(metadata_file, &file_status) ) ){ if(0 != (ret = stat(metadata_file, &file_status) ) ){
@ -534,10 +535,10 @@ int orte_sstore_base_get_all_snapshots(opal_list_t *all_snapshots, char *basedir
global_snapshot->ss_handle = 1; global_snapshot->ss_handle = 1;
global_snapshot->basedir = strdup(loc_basedir); global_snapshot->basedir = strdup(loc_basedir);
asprintf(&(global_snapshot->reference), opal_asprintf(&(global_snapshot->reference),
"%s", "%s",
dir_entp->d_name); dir_entp->d_name);
asprintf(&(global_snapshot->metadata_filename), opal_asprintf(&(global_snapshot->metadata_filename),
"%s/%s/%s", "%s/%s/%s",
global_snapshot->basedir, global_snapshot->basedir,
global_snapshot->reference, global_snapshot->reference,
@ -756,7 +757,7 @@ int orte_sstore_base_find_all_seq_nums(orte_sstore_base_global_snapshot_info_t *
} }
while(0 <= (tmp_seq_num = orte_sstore_base_metadata_read_next_seq_num(metadata)) ) { while(0 <= (tmp_seq_num = orte_sstore_base_metadata_read_next_seq_num(metadata)) ) {
asprintf(&tmp_str, "%d", tmp_seq_num); opal_asprintf(&tmp_str, "%d", tmp_seq_num);
if( NULL != tmp_str ) { if( NULL != tmp_str ) {
opal_argv_append(num_seq, seq_list, tmp_str); opal_argv_append(num_seq, seq_list, tmp_str);

Просмотреть файл

@ -7,6 +7,7 @@
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -128,7 +129,7 @@ static int orte_sstore_base_open(mca_base_open_flag_t flags)
* location * location
*/ */
if( NULL != orte_sstore_base_global_snapshot_ref ) { if( NULL != orte_sstore_base_global_snapshot_ref ) {
asprintf(&orte_sstore_base_prelaunch_location, opal_asprintf(&orte_sstore_base_prelaunch_location,
"%s/%s/%d", "%s/%s/%d",
orte_sstore_base_global_snapshot_dir, orte_sstore_base_global_snapshot_dir,
orte_sstore_base_global_snapshot_ref, orte_sstore_base_global_snapshot_ref,

Просмотреть файл

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2010 The Trustees of Indiana University. * Copyright (c) 2010 The Trustees of Indiana University.
* All rights reserved. * All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -252,7 +253,7 @@ int orte_sstore_central_app_get_attr(orte_sstore_base_handle_t handle, orte_ssto
* Access metadata * Access metadata
*/ */
if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) { if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) {
asprintf(value, "%d", handle_info->seq_num); opal_asprintf(value, "%d", handle_info->seq_num);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_central_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_central_component.super.output_handle,
"sstore:central:(app): get_attr(%d, %d) Seq = <%s>", key, handle_info->id, *value)); "sstore:central:(app): get_attr(%d, %d) Seq = <%s>", key, handle_info->id, *value));
} }

Просмотреть файл

@ -4,6 +4,7 @@
* Copyright (c) 2004-2011 The University of Tennessee and The University * Copyright (c) 2004-2011 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights * of Tennessee Research Foundation. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -480,20 +481,20 @@ int orte_sstore_central_global_get_attr(orte_sstore_base_handle_t handle, orte_s
*value = strdup(handle_info->ref_name); *value = strdup(handle_info->ref_name);
} }
else if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) { else if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) {
asprintf(value, "%d", handle_info->seq_num); opal_asprintf(value, "%d", handle_info->seq_num);
} }
else if( SSTORE_METADATA_LOCAL_SNAP_REF_FMT == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_REF_FMT == key ) {
*value = strdup(orte_sstore_base_local_snapshot_fmt); *value = strdup(orte_sstore_base_local_snapshot_fmt);
} }
/* 'central' does not cache, so these are the same */ /* 'central' does not cache, so these are the same */
else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) {
asprintf(value, "%s/%s/%d", opal_asprintf(value, "%s/%s/%d",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
handle_info->seq_num); handle_info->seq_num);
} }
else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) {
asprintf(value, "%s/%s/%d/%s", opal_asprintf(value, "%s/%s/%d/%s",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
handle_info->seq_num, handle_info->seq_num,
@ -731,15 +732,15 @@ static orte_sstore_central_global_snapshot_info_t *create_new_handle_info(int se
orte_sstore_base_get_global_snapshot_ref(&(handle_info->ref_name), getpid()); orte_sstore_base_get_global_snapshot_ref(&(handle_info->ref_name), getpid());
asprintf(&(handle_info->local_location), "%s/%d", opal_asprintf(&(handle_info->local_location), "%s/%d",
handle_info->ref_name, handle_info->seq_num); handle_info->ref_name, handle_info->seq_num);
asprintf(&(handle_info->app_location_fmt), "%s/%s/%s", opal_asprintf(&(handle_info->app_location_fmt), "%s/%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->local_location, handle_info->local_location,
orte_sstore_base_local_snapshot_fmt); orte_sstore_base_local_snapshot_fmt);
asprintf(&(handle_info->metadata_filename), "%s/%s/%s", opal_asprintf(&(handle_info->metadata_filename), "%s/%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
orte_sstore_base_global_metadata_filename); orte_sstore_base_global_metadata_filename);
@ -1029,7 +1030,7 @@ static int init_global_snapshot_directory(orte_sstore_central_global_snapshot_in
/* /*
* Make the snapshot directory from the uniq_global_snapshot_name * Make the snapshot directory from the uniq_global_snapshot_name
*/ */
asprintf(&dir_name, "%s/%s", opal_asprintf(&dir_name, "%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->local_location); handle_info->local_location);
if(OPAL_SUCCESS != (ret = opal_os_dirpath_create(dir_name, my_mode)) ) { if(OPAL_SUCCESS != (ret = opal_os_dirpath_create(dir_name, my_mode)) ) {

Просмотреть файл

@ -4,6 +4,7 @@
* Copyright (c) 2004-2011 The University of Tennessee and The University * Copyright (c) 2004-2011 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights * of Tennessee Research Foundation. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -683,13 +684,13 @@ static int process_global_push(orte_process_name_t* peer, opal_buffer_t* buffer,
free(app_info->local_location); free(app_info->local_location);
app_info->local_location = NULL; app_info->local_location = NULL;
} }
asprintf(&(app_info->local_location), handle_info->location_fmt, app_info->name.vpid); opal_asprintf(&(app_info->local_location), handle_info->location_fmt, app_info->name.vpid);
if( NULL != app_info->metadata_filename ) { if( NULL != app_info->metadata_filename ) {
free(app_info->metadata_filename); free(app_info->metadata_filename);
app_info->metadata_filename = NULL; app_info->metadata_filename = NULL;
} }
asprintf(&(app_info->metadata_filename), "%s/%s", opal_asprintf(&(app_info->metadata_filename), "%s/%s",
app_info->local_location, app_info->local_location,
orte_sstore_base_local_metadata_filename); orte_sstore_base_local_metadata_filename);
} }

Просмотреть файл

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2010 The Trustees of Indiana University. * Copyright (c) 2010 The Trustees of Indiana University.
* All rights reserved. * All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -252,7 +253,7 @@ int orte_sstore_stage_app_get_attr(orte_sstore_base_handle_t handle, orte_sstore
* Access metadata * Access metadata
*/ */
if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) { if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) {
asprintf(value, "%d", handle_info->seq_num); opal_asprintf(value, "%d", handle_info->seq_num);
} }
else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key) { else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key) {
*value = strdup(handle_info->local_location); *value = strdup(handle_info->local_location);

Просмотреть файл

@ -4,6 +4,7 @@
* Copyright (c) 2004-2011 The University of Tennessee and The University * Copyright (c) 2004-2011 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights * of Tennessee Research Foundation. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -582,11 +583,11 @@ int orte_sstore_stage_global_get_attr(orte_sstore_base_handle_t handle, orte_sst
} }
/* Used by snapc */ /* Used by snapc */
else if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) { else if( SSTORE_METADATA_GLOBAL_SNAP_SEQ == key ) {
asprintf(value, "%d", handle_info->seq_num); opal_asprintf(value, "%d", handle_info->seq_num);
} }
/* Used by orte-restart and RecoS and snapc (kinda) */ /* Used by orte-restart and RecoS and snapc (kinda) */
else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_LOC == key ) {
asprintf(value, "%s/%s/%d", opal_asprintf(value, "%s/%s/%d",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
handle_info->seq_num); handle_info->seq_num);
@ -597,7 +598,7 @@ int orte_sstore_stage_global_get_attr(orte_sstore_base_handle_t handle, orte_sst
} }
/* Used by orte-restart and RecoS */ /* Used by orte-restart and RecoS */
else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) { else if( SSTORE_METADATA_LOCAL_SNAP_REF_LOC_FMT == key ) {
asprintf(value, "%s/%s/%d/%s", opal_asprintf(value, "%s/%s/%d/%s",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
handle_info->seq_num, handle_info->seq_num,
@ -750,7 +751,7 @@ static void sync_global_dir(orte_sstore_stage_global_snapshot_info_t *handle_inf
/* /*
* Sync the Sequence num dir * Sync the Sequence num dir
*/ */
asprintf(&fs_str, "%s/%s/%d", opal_asprintf(&fs_str, "%s/%s/%d",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
handle_info->seq_num); handle_info->seq_num);
@ -932,18 +933,18 @@ static orte_sstore_stage_global_snapshot_info_t *create_new_handle_info(int seq,
orte_sstore_base_get_global_snapshot_ref(&(handle_info->ref_name), getpid()); orte_sstore_base_get_global_snapshot_ref(&(handle_info->ref_name), getpid());
asprintf(&(handle_info->local_location), "%s/%d", opal_asprintf(&(handle_info->local_location), "%s/%d",
handle_info->ref_name, handle_info->seq_num); handle_info->ref_name, handle_info->seq_num);
/* This is used by the application to establish the local directory */ /* This is used by the application to establish the local directory */
asprintf(&(handle_info->app_local_location_fmt), "%s/%s/%s/%s", opal_asprintf(&(handle_info->app_local_location_fmt), "%s/%s/%s/%s",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME,
ORTE_SSTORE_LOCAL_SNAPSHOT_STAGE_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_STAGE_DIR_NAME,
orte_sstore_base_local_snapshot_fmt); orte_sstore_base_local_snapshot_fmt);
if( orte_sstore_stage_enabled_caching ) { if( orte_sstore_stage_enabled_caching ) {
asprintf(&(handle_info->app_local_cache_location_fmt), "%s/%s/%s/%d/%s", opal_asprintf(&(handle_info->app_local_cache_location_fmt), "%s/%s/%s/%d/%s",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME,
ORTE_SSTORE_LOCAL_SNAPSHOT_CACHE_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_CACHE_DIR_NAME,
@ -952,12 +953,12 @@ static orte_sstore_stage_global_snapshot_info_t *create_new_handle_info(int seq,
} }
/* This is used by the HNP to remember where it should place each process */ /* This is used by the HNP to remember where it should place each process */
asprintf(&(handle_info->app_global_location_fmt), "%s/%s/%s", opal_asprintf(&(handle_info->app_global_location_fmt), "%s/%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->local_location, handle_info->local_location,
orte_sstore_base_local_snapshot_fmt); orte_sstore_base_local_snapshot_fmt);
asprintf(&(handle_info->metadata_filename), "%s/%s/%s", opal_asprintf(&(handle_info->metadata_filename), "%s/%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->ref_name, handle_info->ref_name,
orte_sstore_base_global_metadata_filename); orte_sstore_base_global_metadata_filename);
@ -1264,14 +1265,14 @@ static int process_local_push(orte_process_name_t* peer, opal_buffer_t* buffer,
} }
if( orte_sstore_stage_enabled_compression ) { if( orte_sstore_stage_enabled_compression ) {
asprintf(&tmp_str, opal_asprintf(&tmp_str,
handle_info->app_global_location_fmt, handle_info->app_global_location_fmt,
name.vpid); name.vpid);
asprintf(&(f_set->local_target), "%s%s", opal_asprintf(&(f_set->local_target), "%s%s",
tmp_str, tmp_str,
compress_postfix); compress_postfix);
} else { } else {
asprintf(&(f_set->local_target), opal_asprintf(&(f_set->local_target),
handle_info->app_global_location_fmt, handle_info->app_global_location_fmt,
name.vpid); name.vpid);
} }
@ -1281,14 +1282,14 @@ static int process_local_push(orte_process_name_t* peer, opal_buffer_t* buffer,
} }
if( orte_sstore_stage_enabled_compression ) { if( orte_sstore_stage_enabled_compression ) {
asprintf(&tmp_str, opal_asprintf(&tmp_str,
handle_info->app_local_location_fmt, handle_info->app_local_location_fmt,
name.vpid); name.vpid);
asprintf(&(f_set->remote_target), "%s%s", opal_asprintf(&(f_set->remote_target), "%s%s",
tmp_str, tmp_str,
compress_postfix); compress_postfix);
} else { } else {
asprintf(&(f_set->remote_target), opal_asprintf(&(f_set->remote_target),
handle_info->app_local_location_fmt, handle_info->app_local_location_fmt,
name.vpid); name.vpid);
} }
@ -1428,7 +1429,7 @@ static int init_global_snapshot_directory(orte_sstore_stage_global_snapshot_info
/* /*
* Make the snapshot directory from the uniq_global_snapshot_name * Make the snapshot directory from the uniq_global_snapshot_name
*/ */
asprintf(&dir_name, "%s/%s", opal_asprintf(&dir_name, "%s/%s",
handle_info->base_location, handle_info->base_location,
handle_info->local_location); handle_info->local_location);
if(OPAL_SUCCESS != (ret = opal_os_dirpath_create(dir_name, my_mode)) ) { if(OPAL_SUCCESS != (ret = opal_os_dirpath_create(dir_name, my_mode)) ) {

Просмотреть файл

@ -6,6 +6,7 @@
* reserved. * reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -353,7 +354,7 @@ int orte_sstore_stage_local_module_init(void)
/* /*
* Create the local storage directory * Create the local storage directory
*/ */
asprintf(&sstore_stage_local_basedir, "%s/%s/%s", opal_asprintf(&sstore_stage_local_basedir, "%s/%s/%s",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME,
ORTE_SSTORE_LOCAL_SNAPSHOT_STAGE_DIR_NAME); ORTE_SSTORE_LOCAL_SNAPSHOT_STAGE_DIR_NAME);
@ -367,7 +368,7 @@ int orte_sstore_stage_local_module_init(void)
* Create the local cache * Create the local cache
*/ */
if( orte_sstore_stage_enabled_caching ) { if( orte_sstore_stage_enabled_caching ) {
asprintf(&sstore_stage_cache_basedir, "%s/%s/%s", opal_asprintf(&sstore_stage_cache_basedir, "%s/%s/%s",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME,
ORTE_SSTORE_LOCAL_SNAPSHOT_CACHE_DIR_NAME); ORTE_SSTORE_LOCAL_SNAPSHOT_CACHE_DIR_NAME);
@ -1210,21 +1211,21 @@ static int process_global_push(orte_process_name_t* peer, opal_buffer_t* buffer,
free(app_info->local_location); free(app_info->local_location);
app_info->local_location = NULL; app_info->local_location = NULL;
} }
asprintf(&(app_info->local_location), handle_info->location_fmt, app_info->name.vpid); opal_asprintf(&(app_info->local_location), handle_info->location_fmt, app_info->name.vpid);
if( orte_sstore_stage_enabled_caching ) { if( orte_sstore_stage_enabled_caching ) {
if( NULL != app_info->local_cache_location ) { if( NULL != app_info->local_cache_location ) {
free(app_info->local_cache_location); free(app_info->local_cache_location);
app_info->local_cache_location = NULL; app_info->local_cache_location = NULL;
} }
asprintf(&(app_info->local_cache_location), handle_info->cache_location_fmt, app_info->name.vpid); opal_asprintf(&(app_info->local_cache_location), handle_info->cache_location_fmt, app_info->name.vpid);
} }
if( NULL != app_info->metadata_filename ) { if( NULL != app_info->metadata_filename ) {
free(app_info->metadata_filename); free(app_info->metadata_filename);
app_info->metadata_filename = NULL; app_info->metadata_filename = NULL;
} }
asprintf(&(app_info->metadata_filename), "%s/%s", opal_asprintf(&(app_info->metadata_filename), "%s/%s",
app_info->local_location, app_info->local_location,
orte_sstore_base_local_metadata_filename); orte_sstore_base_local_metadata_filename);
} }
@ -1260,7 +1261,7 @@ static int process_global_remove(orte_process_name_t* peer, opal_buffer_t* buffe
item = opal_list_get_next(item) ) { item = opal_list_get_next(item) ) {
app_info = (orte_sstore_stage_local_app_snapshot_info_t*)item; app_info = (orte_sstore_stage_local_app_snapshot_info_t*)item;
asprintf(&cmd, "rm -rf %s", app_info->local_location); opal_asprintf(&cmd, "rm -rf %s", app_info->local_location);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle,
"sstore:stage:(local): update_cache(): Removing with command (%s)", "sstore:stage:(local): update_cache(): Removing with command (%s)",
cmd)); cmd));
@ -1270,7 +1271,7 @@ static int process_global_remove(orte_process_name_t* peer, opal_buffer_t* buffe
free(cmd); free(cmd);
cmd = NULL; cmd = NULL;
asprintf(&cmd, "rm -rf %s", app_info->compressed_local_location); opal_asprintf(&cmd, "rm -rf %s", app_info->compressed_local_location);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle,
"sstore:stage:(local): update_cache(): Removing with command (%s)", "sstore:stage:(local): update_cache(): Removing with command (%s)",
cmd)); cmd));
@ -1805,7 +1806,7 @@ static int sstore_stage_destroy_local_dir(void)
int ret, exit_status = ORTE_SUCCESS; int ret, exit_status = ORTE_SUCCESS;
char * basedir_root = NULL; char * basedir_root = NULL;
asprintf(&basedir_root, "%s/%s", opal_asprintf(&basedir_root, "%s/%s",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME); ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME);
@ -1911,7 +1912,7 @@ static int sstore_stage_update_cache(orte_sstore_stage_local_snapshot_info_t *ha
item = opal_list_get_next(item) ) { item = opal_list_get_next(item) ) {
app_info = (orte_sstore_stage_local_app_snapshot_info_t*)item; app_info = (orte_sstore_stage_local_app_snapshot_info_t*)item;
asprintf(&cmd, "mv %s %s", app_info->local_location, cache_dirname); opal_asprintf(&cmd, "mv %s %s", app_info->local_location, cache_dirname);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle,
"sstore:stage:(local): update_cache(): Caching snapshot for process %s [%s]", "sstore:stage:(local): update_cache(): Caching snapshot for process %s [%s]",
ORTE_NAME_PRINT(&app_info->name), ORTE_NAME_PRINT(&app_info->name),
@ -1923,7 +1924,7 @@ static int sstore_stage_update_cache(orte_sstore_stage_local_snapshot_info_t *ha
free(cmd); free(cmd);
cmd = NULL; cmd = NULL;
asprintf(&cmd, "rm -rf %s", app_info->compressed_local_location); opal_asprintf(&cmd, "rm -rf %s", app_info->compressed_local_location);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle,
"sstore:stage:(local): update_cache(): Removing with command (%s)", "sstore:stage:(local): update_cache(): Removing with command (%s)",
cmd)); cmd));
@ -1935,7 +1936,7 @@ static int sstore_stage_update_cache(orte_sstore_stage_local_snapshot_info_t *ha
* Remove the previous cached checkpoint * Remove the previous cached checkpoint
*/ */
if( NULL != sstore_stage_cache_last_dir ) { if( NULL != sstore_stage_cache_last_dir ) {
asprintf(&cmd, "rm -rf %s", sstore_stage_cache_last_dir); opal_asprintf(&cmd, "rm -rf %s", sstore_stage_cache_last_dir);
OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle, OPAL_OUTPUT_VERBOSE((10, mca_sstore_stage_component.super.output_handle,
"sstore:stage:(local): update_cache(): Removing old cache dir command (%s)", "sstore:stage:(local): update_cache(): Removing old cache dir command (%s)",
sstore_stage_cache_last_dir)); sstore_stage_cache_last_dir));
@ -2014,12 +2015,12 @@ static int orte_sstore_stage_local_preload_files(char **local_location, bool *sk
} }
#endif #endif
asprintf(local_location, "%s/%s/%s/%d", opal_asprintf(local_location, "%s/%s/%s/%d",
orte_sstore_stage_local_snapshot_dir, orte_sstore_stage_local_snapshot_dir,
ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME,
ORTE_SSTORE_LOCAL_SNAPSHOT_RESTART_DIR_NAME, ORTE_SSTORE_LOCAL_SNAPSHOT_RESTART_DIR_NAME,
seq); seq);
asprintf(&full_local_location, "%s/%s", opal_asprintf(&full_local_location, "%s/%s",
*local_location, *local_location,
ref); ref);
@ -2070,12 +2071,12 @@ static int orte_sstore_stage_local_preload_files(char **local_location, bool *sk
f_set->local_target = strdup(*local_location); f_set->local_target = strdup(*local_location);
if( NULL != postfix && 0 < strlen(postfix) ) { if( NULL != postfix && 0 < strlen(postfix) ) {
asprintf(&(f_set->remote_target), "%s/%s%s", opal_asprintf(&(f_set->remote_target), "%s/%s%s",
global_loc, global_loc,
ref, ref,
postfix); postfix);
} else { } else {
asprintf(&(f_set->remote_target), "%s/%s", opal_asprintf(&(f_set->remote_target), "%s/%s",
global_loc, global_loc,
ref); ref);
} }

Просмотреть файл

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. * Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -20,6 +21,7 @@
#include "orte/constants.h" #include "orte/constants.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/util/printf.h"
#include "orte/mca/mca.h" #include "orte/mca/mca.h"
#include "orte/mca/state/state.h" #include "orte/mca/state/state.h"

Просмотреть файл

@ -1118,9 +1118,9 @@ void orte_state_base_check_fds(orte_job_t *jdata)
opal_argv_free(list); opal_argv_free(list);
list = NULL; list = NULL;
if (NULL == result) { if (NULL == result) {
asprintf(&result, " %d\t(%s)\t%s\n", i, info, status); opal_asprintf(&result, " %d\t(%s)\t%s\n", i, info, status);
} else { } else {
asprintf(&r2, "%s %d\t(%s)\t%s\n", result, i, info, status); opal_asprintf(&r2, "%s %d\t(%s)\t%s\n", result, i, info, status);
free(result); free(result);
result = r2; result = r2;
} }
@ -1128,7 +1128,7 @@ void orte_state_base_check_fds(orte_job_t *jdata)
} }
++cnt; ++cnt;
} }
asprintf(&r2, "%s: %d open file descriptors after job %d completed\n%s", opal_asprintf(&r2, "%s: %d open file descriptors after job %d completed\n%s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), cnt, ORTE_LOCAL_JOBID(jdata->jobid), result); ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), cnt, ORTE_LOCAL_JOBID(jdata->jobid), result);
opal_output(0, "%s", r2); opal_output(0, "%s", r2);
free(result); free(result);

Просмотреть файл

@ -623,7 +623,7 @@ int orte_daemon(int argc, char *argv[])
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND); ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
goto DONE; goto DONE;
} }
asprintf(&env_str, OPAL_MCA_PREFIX"orte_precondition_transports=%s", string_key); opal_asprintf(&env_str, OPAL_MCA_PREFIX"orte_precondition_transports=%s", string_key);
opal_argv_append_nosize(&singenv, env_str); opal_argv_append_nosize(&singenv, env_str);
free(env_str); free(env_str);
@ -632,7 +632,7 @@ int orte_daemon(int argc, char *argv[])
/* create a string that contains our uri + sysinfo + PMIx server URI envars */ /* create a string that contains our uri + sysinfo + PMIx server URI envars */
orte_util_convert_sysinfo_to_string(&sysinfo, orte_local_cpu_type, orte_local_cpu_model); orte_util_convert_sysinfo_to_string(&sysinfo, orte_local_cpu_type, orte_local_cpu_model);
asprintf(&tmp, "%s[%s]%s", orte_process_info.my_daemon_uri, sysinfo, nptr); opal_asprintf(&tmp, "%s[%s]%s", orte_process_info.my_daemon_uri, sysinfo, nptr);
free(sysinfo); free(sysinfo);
free(nptr); free(nptr);

Просмотреть файл

@ -889,12 +889,12 @@ int orte_submit_job(char *argv[], int *index,
ORTE_SET_MAPPING_POLICY(jdata->map->mapping, ORTE_MAPPING_PPR); ORTE_SET_MAPPING_POLICY(jdata->map->mapping, ORTE_MAPPING_PPR);
ORTE_SET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_GIVEN); ORTE_SET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_GIVEN);
/* define the ppr */ /* define the ppr */
(void)asprintf(&jdata->map->ppr, "%d:node", orte_cmd_options.npernode); opal_asprintf(&jdata->map->ppr, "%d:node", orte_cmd_options.npernode);
} else if (0 < orte_cmd_options.npersocket) { } else if (0 < orte_cmd_options.npersocket) {
ORTE_SET_MAPPING_POLICY(jdata->map->mapping, ORTE_MAPPING_PPR); ORTE_SET_MAPPING_POLICY(jdata->map->mapping, ORTE_MAPPING_PPR);
ORTE_SET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_GIVEN); ORTE_SET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_GIVEN);
/* define the ppr */ /* define the ppr */
(void)asprintf(&jdata->map->ppr, "%d:socket", orte_cmd_options.npersocket); opal_asprintf(&jdata->map->ppr, "%d:socket", orte_cmd_options.npersocket);
} }
@ -1090,7 +1090,7 @@ int orte_submit_job(char *argv[], int *index,
oldenv = getenv("PATH"); oldenv = getenv("PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
char *temp; char *temp;
asprintf(&temp, "%s:%s", newenv, oldenv ); opal_asprintf(&temp, "%s:%s", newenv, oldenv );
free( newenv ); free( newenv );
newenv = temp; newenv = temp;
} }
@ -1106,7 +1106,7 @@ int orte_submit_job(char *argv[], int *index,
oldenv = getenv("LD_LIBRARY_PATH"); oldenv = getenv("LD_LIBRARY_PATH");
if (NULL != oldenv) { if (NULL != oldenv) {
char* temp; char* temp;
asprintf(&temp, "%s:%s", newenv, oldenv); opal_asprintf(&temp, "%s:%s", newenv, oldenv);
free(newenv); free(newenv);
newenv = temp; newenv = temp;
} }
@ -1727,9 +1727,9 @@ static int create_app(int argc, char* argv[],
if (NULL == strstr(app->argv[i], opal_install_dirs.libdir)) { if (NULL == strstr(app->argv[i], opal_install_dirs.libdir)) {
/* doesn't appear to - add it to be safe */ /* doesn't appear to - add it to be safe */
if (':' == app->argv[i][strlen(app->argv[i]-1)]) { if (':' == app->argv[i][strlen(app->argv[i]-1)]) {
asprintf(&value, "-Djava.library.path=%s%s", dptr, opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s%s", dptr, opal_install_dirs.libdir);
} else { } else {
asprintf(&value, "-Djava.library.path=%s:%s", dptr, opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s:%s", dptr, opal_install_dirs.libdir);
} }
free(app->argv[i]); free(app->argv[i]);
app->argv[i] = value; app->argv[i] = value;
@ -1739,7 +1739,7 @@ static int create_app(int argc, char* argv[],
} }
if (!found) { if (!found) {
/* need to add it right after the java command */ /* need to add it right after the java command */
asprintf(&value, "-Djava.library.path=%s", opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s", opal_install_dirs.libdir);
opal_argv_insert_element(&app->argv, 1, value); opal_argv_insert_element(&app->argv, 1, value);
free(value); free(value);
} }
@ -1764,7 +1764,7 @@ static int create_app(int argc, char* argv[],
} }
free(value); free(value);
/* always add the local directory */ /* always add the local directory */
asprintf(&value, "%s:%s", app->cwd, app->argv[i+1]); opal_asprintf(&value, "%s:%s", app->cwd, app->argv[i+1]);
free(app->argv[i+1]); free(app->argv[i+1]);
app->argv[i+1] = value; app->argv[i+1] = value;
break; break;
@ -1791,7 +1791,7 @@ static int create_app(int argc, char* argv[],
} }
free(value); free(value);
/* always add the local directory */ /* always add the local directory */
(void)asprintf(&value, "%s:%s", app->cwd, app->argv[1]); opal_asprintf(&value, "%s:%s", app->cwd, app->argv[1]);
free(app->argv[1]); free(app->argv[1]);
app->argv[1] = value; app->argv[1] = value;
opal_argv_insert_element(&app->argv, 1, "-cp"); opal_argv_insert_element(&app->argv, 1, "-cp");
@ -1810,7 +1810,7 @@ static int create_app(int argc, char* argv[],
/* check for mpi.jar */ /* check for mpi.jar */
value = opal_os_path(false, opal_install_dirs.libdir, "mpi.jar", NULL); value = opal_os_path(false, opal_install_dirs.libdir, "mpi.jar", NULL);
if (access(value, F_OK ) != -1) { if (access(value, F_OK ) != -1) {
(void)asprintf(&str2, "%s:%s", str, value); opal_asprintf(&str2, "%s:%s", str, value);
free(str); free(str);
str = str2; str = str2;
} }
@ -1818,7 +1818,7 @@ static int create_app(int argc, char* argv[],
/* check for shmem.jar */ /* check for shmem.jar */
value = opal_os_path(false, opal_install_dirs.libdir, "shmem.jar", NULL); value = opal_os_path(false, opal_install_dirs.libdir, "shmem.jar", NULL);
if (access(value, F_OK ) != -1) { if (access(value, F_OK ) != -1) {
asprintf(&str2, "%s:%s", str, value); opal_asprintf(&str2, "%s:%s", str, value);
free(str); free(str);
str = str2; str = str2;
} }
@ -1881,7 +1881,7 @@ static void set_classpath_jar_file(orte_app_context_t *app, int index, char *jar
char *fmt = ':' == app->argv[index][strlen(app->argv[index]-1)] char *fmt = ':' == app->argv[index][strlen(app->argv[index]-1)]
? "%s%s/%s" : "%s:%s/%s"; ? "%s%s/%s" : "%s:%s/%s";
char *str; char *str;
asprintf(&str, fmt, app->argv[index], opal_install_dirs.libdir, jarfile); opal_asprintf(&str, fmt, app->argv[index], opal_install_dirs.libdir, jarfile);
free(app->argv[index]); free(app->argv[index]);
app->argv[index] = str; app->argv[index] = str;
} }
@ -2732,7 +2732,7 @@ static int process(char *orig_line, char *basename, opal_cmd_line_t *cmd_line,
} }
} else if (0 == strcmp(line_argv[i], "@np@")) { } else if (0 == strcmp(line_argv[i], "@np@")) {
used_num_procs = true; used_num_procs = true;
asprintf(&tmp, "%d", num_procs); opal_asprintf(&tmp, "%d", num_procs);
opal_argv_append_nosize(new_argv, tmp); opal_argv_append_nosize(new_argv, tmp);
free(tmp); free(tmp);
} else if (0 == strcmp(line_argv[i], "@single_app@")) { } else if (0 == strcmp(line_argv[i], "@single_app@")) {

Просмотреть файл

@ -59,6 +59,7 @@
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/os_path.h" #include "opal/util/os_path.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/grpcomm/grpcomm.h" #include "orte/mca/grpcomm/grpcomm.h"
@ -514,7 +515,7 @@ static void pmix_server_dmdx_recv(int status, orte_process_name_t* sender,
* condition, so just log the request and we will fill * condition, so just log the request and we will fill
* it later */ * it later */
req = OBJ_NEW(pmix_server_req_t); req = OBJ_NEW(pmix_server_req_t);
(void)asprintf(&req->operation, "DMDX: %s:%d", __FILE__, __LINE__); opal_asprintf(&req->operation, "DMDX: %s:%d", __FILE__, __LINE__);
req->proxy = *sender; req->proxy = *sender;
req->target = idreq; req->target = idreq;
req->remote_room_num = room_num; req->remote_room_num = room_num;
@ -541,7 +542,7 @@ static void pmix_server_dmdx_recv(int status, orte_process_name_t* sender,
/* track the request since the call down to the PMIx server /* track the request since the call down to the PMIx server
* is asynchronous */ * is asynchronous */
req = OBJ_NEW(pmix_server_req_t); req = OBJ_NEW(pmix_server_req_t);
(void)asprintf(&req->operation, "DMDX: %s:%d", __FILE__, __LINE__); opal_asprintf(&req->operation, "DMDX: %s:%d", __FILE__, __LINE__);
req->proxy = *sender; req->proxy = *sender;
req->target = idreq; req->target = idreq;
req->remote_room_num = room_num; req->remote_room_num = room_num;

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2006-2013 Los Alamos National Security, LLC. * Copyright (c) 2006-2013 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2014 Mellanox Technologies, Inc. * Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science * Copyright (c) 2014 Research Organization for Information Science
@ -42,6 +42,7 @@
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/mca/event/event.h" #include "opal/mca/event/event.h"
#include "opal/mca/pmix/pmix.h" #include "opal/mca/pmix/pmix.h"
#include "opal/util/printf.h"
#include "opal/util/proc.h" #include "opal/util/proc.h"
#include "opal/sys/atomic.h" #include "opal/sys/atomic.h"
@ -114,7 +115,7 @@ OBJ_CLASS_DECLARATION(orte_pmix_mdx_caddy_t);
do { \ do { \
pmix_server_req_t *_req; \ pmix_server_req_t *_req; \
_req = OBJ_NEW(pmix_server_req_t); \ _req = OBJ_NEW(pmix_server_req_t); \
(void)asprintf(&_req->operation, "DMDX: %s:%d", __FILE__, __LINE__); \ opal_asprintf(&_req->operation, "DMDX: %s:%d", __FILE__, __LINE__); \
_req->target = (p); \ _req->target = (p); \
_req->mdxcbfunc = (ocf); \ _req->mdxcbfunc = (ocf); \
_req->cbdata = (ocd); \ _req->cbdata = (ocd); \
@ -129,7 +130,7 @@ OBJ_CLASS_DECLARATION(orte_pmix_mdx_caddy_t);
do { \ do { \
pmix_server_req_t *_req; \ pmix_server_req_t *_req; \
_req = OBJ_NEW(pmix_server_req_t); \ _req = OBJ_NEW(pmix_server_req_t); \
(void)asprintf(&_req->operation, "SPAWN: %s:%d", __FILE__, __LINE__); \ opal_asprintf(&_req->operation, "SPAWN: %s:%d", __FILE__, __LINE__); \
_req->jdata = (j); \ _req->jdata = (j); \
_req->spcbfunc = (ocf); \ _req->spcbfunc = (ocf); \
_req->cbdata = (ocd); \ _req->cbdata = (ocd); \

Просмотреть файл

@ -13,7 +13,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved. * Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2014 Mellanox Technologies, Inc. * Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved. * All rights reserved.
* Copyright (c) 2014-2016 Research Organization for Information Science * Copyright (c) 2014-2016 Research Organization for Information Science
@ -241,7 +241,7 @@ int pmix_server_publish_fn(opal_process_name_t *proc,
/* create the caddy */ /* create the caddy */
req = OBJ_NEW(pmix_server_req_t); req = OBJ_NEW(pmix_server_req_t);
(void)asprintf(&req->operation, "PUBLISH: %s:%d", __FILE__, __LINE__); opal_asprintf(&req->operation, "PUBLISH: %s:%d", __FILE__, __LINE__);
req->opcbfunc = cbfunc; req->opcbfunc = cbfunc;
req->cbdata = cbdata; req->cbdata = cbdata;
@ -342,7 +342,7 @@ int pmix_server_lookup_fn(opal_process_name_t *proc, char **keys,
/* create the caddy */ /* create the caddy */
req = OBJ_NEW(pmix_server_req_t); req = OBJ_NEW(pmix_server_req_t);
(void)asprintf(&req->operation, "LOOKUP: %s:%d", __FILE__, __LINE__); opal_asprintf(&req->operation, "LOOKUP: %s:%d", __FILE__, __LINE__);
req->lkcbfunc = cbfunc; req->lkcbfunc = cbfunc;
req->cbdata = cbdata; req->cbdata = cbdata;
@ -439,7 +439,7 @@ int pmix_server_unpublish_fn(opal_process_name_t *proc, char **keys,
/* create the caddy */ /* create the caddy */
req = OBJ_NEW(pmix_server_req_t); req = OBJ_NEW(pmix_server_req_t);
(void)asprintf(&req->operation, "UNPUBLISH: %s:%d", __FILE__, __LINE__); opal_asprintf(&req->operation, "UNPUBLISH: %s:%d", __FILE__, __LINE__);
req->opcbfunc = cbfunc; req->opcbfunc = cbfunc;
req->cbdata = cbdata; req->cbdata = cbdata;

Просмотреть файл

@ -55,7 +55,7 @@ static void orte_dt_quick_print(char **output, char *type_name, char *prefix, vo
/* check for NULL ptr */ /* check for NULL ptr */
if (NULL == src) { if (NULL == src) {
asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: NULL pointer", opal_asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: NULL pointer",
(NULL == prefix) ? "" : prefix, type_name); (NULL == prefix) ? "" : prefix, type_name);
return; return;
} }
@ -63,49 +63,49 @@ static void orte_dt_quick_print(char **output, char *type_name, char *prefix, vo
switch(real_type) { switch(real_type) {
case OPAL_INT8: case OPAL_INT8:
i8 = (int8_t*)src; i8 = (int8_t*)src;
asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: %d", opal_asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: %d",
(NULL == prefix) ? "" : prefix, type_name, (int) *i8); (NULL == prefix) ? "" : prefix, type_name, (int) *i8);
break; break;
case OPAL_UINT8: case OPAL_UINT8:
ui8 = (uint8_t*)src; ui8 = (uint8_t*)src;
asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: %u", opal_asprintf(output, "%sData type: %s\tData size: 8-bit\tValue: %u",
(NULL == prefix) ? "" : prefix, type_name, (unsigned int)*ui8); (NULL == prefix) ? "" : prefix, type_name, (unsigned int)*ui8);
break; break;
case OPAL_INT16: case OPAL_INT16:
i16 = (int16_t*)src; i16 = (int16_t*)src;
asprintf(output, "%sData type: %s\tData size: 16-bit\tValue: %d", opal_asprintf(output, "%sData type: %s\tData size: 16-bit\tValue: %d",
(NULL == prefix) ? "" : prefix, type_name, (int) *i16); (NULL == prefix) ? "" : prefix, type_name, (int) *i16);
break; break;
case OPAL_UINT16: case OPAL_UINT16:
ui16 = (uint16_t*)src; ui16 = (uint16_t*)src;
asprintf(output, "%sData type: %s\tData size: 16-bit\tValue: %u", opal_asprintf(output, "%sData type: %s\tData size: 16-bit\tValue: %u",
(NULL == prefix) ? "" : prefix, type_name, (unsigned int) *ui16); (NULL == prefix) ? "" : prefix, type_name, (unsigned int) *ui16);
break; break;
case OPAL_INT32: case OPAL_INT32:
i32 = (int32_t*)src; i32 = (int32_t*)src;
asprintf(output, "%sData type: %s\tData size: 32-bit\tValue: %ld", opal_asprintf(output, "%sData type: %s\tData size: 32-bit\tValue: %ld",
(NULL == prefix) ? "" : prefix, type_name, (long) *i32); (NULL == prefix) ? "" : prefix, type_name, (long) *i32);
break; break;
case OPAL_UINT32: case OPAL_UINT32:
ui32 = (uint32_t*)src; ui32 = (uint32_t*)src;
asprintf(output, "%sData type: %s\tData size: 32-bit\tValue: %lu", opal_asprintf(output, "%sData type: %s\tData size: 32-bit\tValue: %lu",
(NULL == prefix) ? "" : prefix, type_name, (unsigned long) *ui32); (NULL == prefix) ? "" : prefix, type_name, (unsigned long) *ui32);
break; break;
case OPAL_INT64: case OPAL_INT64:
i64 = (int64_t*)src; i64 = (int64_t*)src;
asprintf(output, "%sData type: %s\tData size: 64-bit\tValue: %ld", opal_asprintf(output, "%sData type: %s\tData size: 64-bit\tValue: %ld",
(NULL == prefix) ? "" : prefix, type_name, (long) *i64); (NULL == prefix) ? "" : prefix, type_name, (long) *i64);
break; break;
case OPAL_UINT64: case OPAL_UINT64:
ui64 = (uint64_t*)src; ui64 = (uint64_t*)src;
asprintf(output, "%sData type: %s\tData size: 64-bit\tValue: %lu", opal_asprintf(output, "%sData type: %s\tData size: 64-bit\tValue: %lu",
(NULL == prefix) ? "" : prefix, type_name, (unsigned long) *ui64); (NULL == prefix) ? "" : prefix, type_name, (unsigned long) *ui64);
break; break;
@ -181,13 +181,13 @@ int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_ty
/* protect against NULL prefix */ /* protect against NULL prefix */
if (NULL == prefix) { if (NULL == prefix) {
asprintf(&pfx2, " "); opal_asprintf(&pfx2, " ");
} else { } else {
asprintf(&pfx2, "%s", prefix); opal_asprintf(&pfx2, "%s", prefix);
} }
tmp2 = opal_argv_join(src->personality, ','); tmp2 = opal_argv_join(src->personality, ',');
asprintf(&tmp, "\n%sData for job: %s\tPersonality: %s\tRecovery: %s(%s)\n%s\tNum apps: %ld\tStdin target: %s\tState: %s\tAbort: %s", pfx2, opal_asprintf(&tmp, "\n%sData for job: %s\tPersonality: %s\tRecovery: %s(%s)\n%s\tNum apps: %ld\tStdin target: %s\tState: %s\tAbort: %s", pfx2,
ORTE_JOBID_PRINT(src->jobid), tmp2, ORTE_JOBID_PRINT(src->jobid), tmp2,
(ORTE_FLAG_TEST(src, ORTE_JOB_FLAG_RECOVERABLE)) ? "ENABLED" : "DISABLED", (ORTE_FLAG_TEST(src, ORTE_JOB_FLAG_RECOVERABLE)) ? "ENABLED" : "DISABLED",
(orte_get_attribute(&src->attributes, ORTE_JOB_RECOVER_DEFINED, NULL, OPAL_BOOL)) ? "DEFINED" : "DEFAULT", (orte_get_attribute(&src->attributes, ORTE_JOB_RECOVER_DEFINED, NULL, OPAL_BOOL)) ? "DEFINED" : "DEFAULT",
@ -195,7 +195,7 @@ int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_ty
(long)src->num_apps, ORTE_VPID_PRINT(src->stdin_target), (long)src->num_apps, ORTE_VPID_PRINT(src->stdin_target),
orte_job_state_to_str(src->state), (ORTE_FLAG_TEST(src, ORTE_JOB_FLAG_ABORTED)) ? "True" : "False"); orte_job_state_to_str(src->state), (ORTE_FLAG_TEST(src, ORTE_JOB_FLAG_ABORTED)) ? "True" : "False");
free(tmp2); free(tmp2);
asprintf(&pfx, "%s\t", pfx2); opal_asprintf(&pfx, "%s\t", pfx2);
free(pfx2); free(pfx2);
for (i=0; i < src->apps->size; i++) { for (i=0; i < src->apps->size; i++) {
@ -203,7 +203,7 @@ int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_ty
continue; continue;
} }
opal_dss.print(&tmp2, pfx, app, ORTE_APP_CONTEXT); opal_dss.print(&tmp2, pfx, app, ORTE_APP_CONTEXT);
asprintf(&tmp3, "%s\n%s", tmp, tmp2); opal_asprintf(&tmp3, "%s\n%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
@ -214,17 +214,17 @@ int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_ty
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
return rc; return rc;
} }
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
} else { } else {
asprintf(&tmp2, "%s\n%sNo Map", tmp, pfx); opal_asprintf(&tmp2, "%s\n%sNo Map", tmp, pfx);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
asprintf(&tmp2, "%s\n%sNum procs: %ld\tOffset: %ld", tmp, pfx, (long)src->num_procs, (long)src->offset); opal_asprintf(&tmp2, "%s\n%sNum procs: %ld\tOffset: %ld", tmp, pfx, (long)src->num_procs, (long)src->offset);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
@ -236,13 +236,13 @@ int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_ty
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
return rc; return rc;
} }
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
} }
asprintf(&tmp2, "%s\n%s\tNum launched: %ld\tNum reported: %ld\tNum terminated: %ld", opal_asprintf(&tmp2, "%s\n%s\tNum launched: %ld\tNum reported: %ld\tNum terminated: %ld",
tmp, pfx, (long)src->num_launched, (long)src->num_reported, tmp, pfx, (long)src->num_launched, (long)src->num_reported,
(long)src->num_terminated); (long)src->num_terminated);
free(tmp); free(tmp);
@ -270,14 +270,14 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
/* protect against NULL prefix */ /* protect against NULL prefix */
if (NULL == prefix) { if (NULL == prefix) {
asprintf(&pfx2, " "); opal_asprintf(&pfx2, " ");
} else { } else {
asprintf(&pfx2, "%s", prefix); opal_asprintf(&pfx2, "%s", prefix);
} }
if (orte_xml_output) { if (orte_xml_output) {
/* need to create the output in XML format */ /* need to create the output in XML format */
asprintf(&tmp, "%s<host name=\"%s\" slots=\"%d\" max_slots=\"%d\">\n", pfx2, opal_asprintf(&tmp, "%s<host name=\"%s\" slots=\"%d\" max_slots=\"%d\">\n", pfx2,
(NULL == src->name) ? "UNKNOWN" : src->name, (NULL == src->name) ? "UNKNOWN" : src->name,
(int)src->slots, (int)src->slots_max); (int)src->slots, (int)src->slots_max);
/* does this node have any aliases? */ /* does this node have any aliases? */
@ -285,7 +285,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) { if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) {
alias = opal_argv_split(tmp3, ','); alias = opal_argv_split(tmp3, ',');
for (i=0; NULL != alias[i]; i++) { for (i=0; NULL != alias[i]; i++) {
asprintf(&tmp2, "%s%s\t<noderesolve resolved=\"%s\"/>\n", tmp, pfx2, alias[i]); opal_asprintf(&tmp2, "%s%s\t<noderesolve resolved=\"%s\"/>\n", tmp, pfx2, alias[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -303,7 +303,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
/* just provide a simple output for users */ /* just provide a simple output for users */
if (0 == src->num_procs) { if (0 == src->num_procs) {
/* no procs mapped yet, so just show allocation */ /* no procs mapped yet, so just show allocation */
asprintf(&tmp, "\n%sData for node: %s\tNum slots: %ld\tMax slots: %ld", opal_asprintf(&tmp, "\n%sData for node: %s\tNum slots: %ld\tMax slots: %ld",
pfx2, (NULL == src->name) ? "UNKNOWN" : src->name, pfx2, (NULL == src->name) ? "UNKNOWN" : src->name,
(long)src->slots, (long)src->slots_max); (long)src->slots, (long)src->slots_max);
/* does this node have any aliases? */ /* does this node have any aliases? */
@ -311,7 +311,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) { if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) {
alias = opal_argv_split(tmp3, ','); alias = opal_argv_split(tmp3, ',');
for (i=0; NULL != alias[i]; i++) { for (i=0; NULL != alias[i]; i++) {
asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]); opal_asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -324,7 +324,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
*output = tmp; *output = tmp;
return ORTE_SUCCESS; return ORTE_SUCCESS;
} }
asprintf(&tmp, "\n%sData for node: %s\tNum slots: %ld\tMax slots: %ld\tNum procs: %ld", opal_asprintf(&tmp, "\n%sData for node: %s\tNum slots: %ld\tMax slots: %ld\tNum procs: %ld",
pfx2, (NULL == src->name) ? "UNKNOWN" : src->name, pfx2, (NULL == src->name) ? "UNKNOWN" : src->name,
(long)src->slots, (long)src->slots_max, (long)src->num_procs); (long)src->slots, (long)src->slots_max, (long)src->num_procs);
/* does this node have any aliases? */ /* does this node have any aliases? */
@ -332,7 +332,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) { if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) {
alias = opal_argv_split(tmp3, ','); alias = opal_argv_split(tmp3, ',');
for (i=0; NULL != alias[i]; i++) { for (i=0; NULL != alias[i]; i++) {
asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]); opal_asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -344,14 +344,14 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
goto PRINT_PROCS; goto PRINT_PROCS;
} }
asprintf(&tmp, "\n%sData for node: %s\tState: %0x\tFlags: %02x", opal_asprintf(&tmp, "\n%sData for node: %s\tState: %0x\tFlags: %02x",
pfx2, (NULL == src->name) ? "UNKNOWN" : src->name, src->state, src->flags); pfx2, (NULL == src->name) ? "UNKNOWN" : src->name, src->state, src->flags);
/* does this node have any aliases? */ /* does this node have any aliases? */
tmp3 = NULL; tmp3 = NULL;
if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) { if (orte_get_attribute(&src->attributes, ORTE_NODE_ALIAS, (void**)&tmp3, OPAL_STRING)) {
alias = opal_argv_split(tmp3, ','); alias = opal_argv_split(tmp3, ',');
for (i=0; NULL != alias[i]; i++) { for (i=0; NULL != alias[i]; i++) {
asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]); opal_asprintf(&tmp2, "%s%s\tresolved from %s\n", tmp, pfx2, alias[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -362,30 +362,30 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
} }
if (NULL == src->daemon) { if (NULL == src->daemon) {
asprintf(&tmp2, "%s\n%s\tDaemon: %s\tDaemon launched: %s", tmp, pfx2, opal_asprintf(&tmp2, "%s\n%s\tDaemon: %s\tDaemon launched: %s", tmp, pfx2,
"Not defined", ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_DAEMON_LAUNCHED) ? "True" : "False"); "Not defined", ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_DAEMON_LAUNCHED) ? "True" : "False");
} else { } else {
asprintf(&tmp2, "%s\n%s\tDaemon: %s\tDaemon launched: %s", tmp, pfx2, opal_asprintf(&tmp2, "%s\n%s\tDaemon: %s\tDaemon launched: %s", tmp, pfx2,
ORTE_NAME_PRINT(&(src->daemon->name)), ORTE_NAME_PRINT(&(src->daemon->name)),
ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_DAEMON_LAUNCHED) ? "True" : "False"); ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_DAEMON_LAUNCHED) ? "True" : "False");
} }
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
asprintf(&tmp2, "%s\n%s\tNum slots: %ld\tSlots in use: %ld\tOversubscribed: %s", tmp, pfx2, opal_asprintf(&tmp2, "%s\n%s\tNum slots: %ld\tSlots in use: %ld\tOversubscribed: %s", tmp, pfx2,
(long)src->slots, (long)src->slots_inuse, (long)src->slots, (long)src->slots_inuse,
ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_OVERSUBSCRIBED) ? "TRUE" : "FALSE"); ORTE_FLAG_TEST(src, ORTE_NODE_FLAG_OVERSUBSCRIBED) ? "TRUE" : "FALSE");
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
asprintf(&tmp2, "%s\n%s\tNum slots allocated: %ld\tMax slots: %ld", tmp, pfx2, opal_asprintf(&tmp2, "%s\n%s\tNum slots allocated: %ld\tMax slots: %ld", tmp, pfx2,
(long)src->slots, (long)src->slots_max); (long)src->slots, (long)src->slots_max);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
tmp3 = NULL; tmp3 = NULL;
if (orte_get_attribute(&src->attributes, ORTE_NODE_USERNAME, (void**)&tmp3, OPAL_STRING)) { if (orte_get_attribute(&src->attributes, ORTE_NODE_USERNAME, (void**)&tmp3, OPAL_STRING)) {
asprintf(&tmp2, "%s\n%s\tUsername on node: %s", tmp, pfx2, tmp3); opal_asprintf(&tmp2, "%s\n%s\tUsername on node: %s", tmp, pfx2, tmp3);
free(tmp3); free(tmp3);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
@ -393,27 +393,27 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
if (orte_display_topo_with_map && NULL != src->topology) { if (orte_display_topo_with_map && NULL != src->topology) {
char *pfx3; char *pfx3;
asprintf(&tmp2, "%s\n%s\tDetected Resources:\n", tmp, pfx2); opal_asprintf(&tmp2, "%s\n%s\tDetected Resources:\n", tmp, pfx2);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
tmp2 = NULL; tmp2 = NULL;
asprintf(&pfx3, "%s\t\t", pfx2); opal_asprintf(&pfx3, "%s\t\t", pfx2);
opal_dss.print(&tmp2, pfx3, src->topology, OPAL_HWLOC_TOPO); opal_dss.print(&tmp2, pfx3, src->topology, OPAL_HWLOC_TOPO);
free(pfx3); free(pfx3);
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
} }
asprintf(&tmp2, "%s\n%s\tNum procs: %ld\tNext node_rank: %ld", tmp, pfx2, opal_asprintf(&tmp2, "%s\n%s\tNum procs: %ld\tNext node_rank: %ld", tmp, pfx2,
(long)src->num_procs, (long)src->next_node_rank); (long)src->num_procs, (long)src->next_node_rank);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
PRINT_PROCS: PRINT_PROCS:
asprintf(&pfx, "%s\t", pfx2); opal_asprintf(&pfx, "%s\t", pfx2);
free(pfx2); free(pfx2);
for (i=0; i < src->procs->size; i++) { for (i=0; i < src->procs->size; i++) {
@ -424,7 +424,7 @@ int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
return rc; return rc;
} }
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
@ -454,18 +454,18 @@ int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_
/* protect against NULL prefix */ /* protect against NULL prefix */
if (NULL == prefix) { if (NULL == prefix) {
asprintf(&pfx2, " "); opal_asprintf(&pfx2, " ");
} else { } else {
asprintf(&pfx2, "%s", prefix); opal_asprintf(&pfx2, "%s", prefix);
} }
if (orte_xml_output) { if (orte_xml_output) {
/* need to create the output in XML format */ /* need to create the output in XML format */
if (0 == src->pid) { if (0 == src->pid) {
asprintf(output, "%s<process rank=\"%s\" status=\"%s\"/>\n", pfx2, opal_asprintf(output, "%s<process rank=\"%s\" status=\"%s\"/>\n", pfx2,
ORTE_VPID_PRINT(src->name.vpid), orte_proc_state_to_str(src->state)); ORTE_VPID_PRINT(src->name.vpid), orte_proc_state_to_str(src->state));
} else { } else {
asprintf(output, "%s<process rank=\"%s\" pid=\"%d\" status=\"%s\"/>\n", pfx2, opal_asprintf(output, "%s<process rank=\"%s\" pid=\"%d\" status=\"%s\"/>\n", pfx2,
ORTE_VPID_PRINT(src->name.vpid), (int)src->pid, orte_proc_state_to_str(src->state)); ORTE_VPID_PRINT(src->name.vpid), (int)src->pid, orte_proc_state_to_str(src->state));
} }
free(pfx2); free(pfx2);
@ -481,10 +481,10 @@ int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_
str = strdup("UNBOUND"); str = strdup("UNBOUND");
} else { } else {
opal_hwloc_base_cset2mapstr(tmp2, sizeof(tmp2), src->node->topology->topo, mycpus); opal_hwloc_base_cset2mapstr(tmp2, sizeof(tmp2), src->node->topology->topo, mycpus);
asprintf(&str, "%s:%s", tmp1, tmp2); opal_asprintf(&str, "%s:%s", tmp1, tmp2);
} }
hwloc_bitmap_free(mycpus); hwloc_bitmap_free(mycpus);
asprintf(&tmp, "\n%sProcess OMPI jobid: %s App: %ld Process rank: %s Bound: %s", pfx2, opal_asprintf(&tmp, "\n%sProcess OMPI jobid: %s App: %ld Process rank: %s Bound: %s", pfx2,
ORTE_JOBID_PRINT(src->name.jobid), (long)src->app_idx, ORTE_JOBID_PRINT(src->name.jobid), (long)src->app_idx,
ORTE_VPID_PRINT(src->name.vpid), (NULL == str) ? "N/A" : str); ORTE_VPID_PRINT(src->name.vpid), (NULL == str) ? "N/A" : str);
if (NULL != str) { if (NULL != str) {
@ -495,7 +495,7 @@ int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_
} }
} else { } else {
/* just print a very simple output for users */ /* just print a very simple output for users */
asprintf(&tmp, "\n%sProcess OMPI jobid: %s App: %ld Process rank: %s Bound: N/A", pfx2, opal_asprintf(&tmp, "\n%sProcess OMPI jobid: %s App: %ld Process rank: %s Bound: N/A", pfx2,
ORTE_JOBID_PRINT(src->name.jobid), (long)src->app_idx, ORTE_JOBID_PRINT(src->name.jobid), (long)src->app_idx,
ORTE_VPID_PRINT(src->name.vpid)); ORTE_VPID_PRINT(src->name.vpid));
} }
@ -506,9 +506,9 @@ int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_
return ORTE_SUCCESS; return ORTE_SUCCESS;
} }
asprintf(&tmp, "\n%sData for proc: %s", pfx2, ORTE_NAME_PRINT(&src->name)); opal_asprintf(&tmp, "\n%sData for proc: %s", pfx2, ORTE_NAME_PRINT(&src->name));
asprintf(&tmp3, "%s\n%s\tPid: %ld\tLocal rank: %lu\tNode rank: %lu\tApp rank: %d", tmp, pfx2, opal_asprintf(&tmp3, "%s\n%s\tPid: %ld\tLocal rank: %lu\tNode rank: %lu\tApp rank: %d", tmp, pfx2,
(long)src->pid, (unsigned long)src->local_rank, (unsigned long)src->node_rank, src->app_rank); (long)src->pid, (unsigned long)src->local_rank, (unsigned long)src->node_rank, src->app_rank);
free(tmp); free(tmp);
tmp = tmp3; tmp = tmp3;
@ -532,7 +532,7 @@ int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_
} else { } else {
snprintf(tmp2, sizeof(tmp2), "UNBOUND"); snprintf(tmp2, sizeof(tmp2), "UNBOUND");
} }
asprintf(&tmp3, "%s\n%s\tState: %s\tApp_context: %ld\n%s\tLocale: %s\n%s\tBinding: %s", tmp, pfx2, opal_asprintf(&tmp3, "%s\n%s\tState: %s\tApp_context: %ld\n%s\tLocale: %s\n%s\tBinding: %s", tmp, pfx2,
orte_proc_state_to_str(src->state), (long)src->app_idx, pfx2, locale, pfx2, tmp2); orte_proc_state_to_str(src->state), (long)src->app_idx, pfx2, locale, pfx2, tmp2);
free(tmp); free(tmp);
if (NULL != str) { if (NULL != str) {
@ -563,12 +563,12 @@ int orte_dt_print_app_context(char **output, char *prefix, orte_app_context_t *s
/* protect against NULL prefix */ /* protect against NULL prefix */
if (NULL == prefix) { if (NULL == prefix) {
asprintf(&pfx2, " "); opal_asprintf(&pfx2, " ");
} else { } else {
asprintf(&pfx2, "%s", prefix); opal_asprintf(&pfx2, "%s", prefix);
} }
asprintf(&tmp, "\n%sData for app_context: index %lu\tapp: %s\n%s\tNum procs: %lu\tFirstRank: %s", opal_asprintf(&tmp, "\n%sData for app_context: index %lu\tapp: %s\n%s\tNum procs: %lu\tFirstRank: %s",
pfx2, (unsigned long)src->idx, pfx2, (unsigned long)src->idx,
(NULL == src->app) ? "NULL" : src->app, (NULL == src->app) ? "NULL" : src->app,
pfx2, (unsigned long)src->num_procs, pfx2, (unsigned long)src->num_procs,
@ -576,21 +576,21 @@ int orte_dt_print_app_context(char **output, char *prefix, orte_app_context_t *s
count = opal_argv_count(src->argv); count = opal_argv_count(src->argv);
for (i=0; i < count; i++) { for (i=0; i < count; i++) {
asprintf(&tmp2, "%s\n%s\tArgv[%d]: %s", tmp, pfx2, i, src->argv[i]); opal_asprintf(&tmp2, "%s\n%s\tArgv[%d]: %s", tmp, pfx2, i, src->argv[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
count = opal_argv_count(src->env); count = opal_argv_count(src->env);
for (i=0; i < count; i++) { for (i=0; i < count; i++) {
asprintf(&tmp2, "%s\n%s\tEnv[%lu]: %s", tmp, pfx2, (unsigned long)i, src->env[i]); opal_asprintf(&tmp2, "%s\n%s\tEnv[%lu]: %s", tmp, pfx2, (unsigned long)i, src->env[i]);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
tmp3 = NULL; tmp3 = NULL;
orte_get_attribute(&src->attributes, ORTE_APP_PREFIX_DIR, (void**)&tmp3, OPAL_STRING); orte_get_attribute(&src->attributes, ORTE_APP_PREFIX_DIR, (void**)&tmp3, OPAL_STRING);
asprintf(&tmp2, "%s\n%s\tWorking dir: %s\n%s\tPrefix: %s\n%s\tUsed on node: %s", tmp, opal_asprintf(&tmp2, "%s\n%s\tWorking dir: %s\n%s\tPrefix: %s\n%s\tUsed on node: %s", tmp,
pfx2, (NULL == src->cwd) ? "NULL" : src->cwd, pfx2, (NULL == src->cwd) ? "NULL" : src->cwd,
pfx2, (NULL == tmp3) ? "NULL" : tmp3, pfx2, (NULL == tmp3) ? "NULL" : tmp3,
pfx2, ORTE_FLAG_TEST(src, ORTE_APP_FLAG_USED_ON_NODE) ? "TRUE" : "FALSE"); pfx2, ORTE_FLAG_TEST(src, ORTE_APP_FLAG_USED_ON_NODE) ? "TRUE" : "FALSE");
@ -599,7 +599,7 @@ int orte_dt_print_app_context(char **output, char *prefix, orte_app_context_t *s
OPAL_LIST_FOREACH(kv, &src->attributes, opal_value_t) { OPAL_LIST_FOREACH(kv, &src->attributes, opal_value_t) {
opal_dss.print(&tmp2, pfx2, kv, ORTE_ATTRIBUTE); opal_dss.print(&tmp2, pfx2, kv, ORTE_ATTRIBUTE);
asprintf(&tmp3, "%s\n%s", tmp, tmp2); opal_asprintf(&tmp3, "%s\n%s", tmp, tmp2);
free(tmp2); free(tmp2);
free(tmp); free(tmp);
tmp = tmp3; tmp = tmp3;
@ -628,21 +628,21 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
/* protect against NULL prefix */ /* protect against NULL prefix */
if (NULL == prefix) { if (NULL == prefix) {
asprintf(&pfx2, " "); opal_asprintf(&pfx2, " ");
} else { } else {
asprintf(&pfx2, "%s", prefix); opal_asprintf(&pfx2, "%s", prefix);
} }
if (orte_xml_output) { if (orte_xml_output) {
/* need to create the output in XML format */ /* need to create the output in XML format */
asprintf(&tmp, "<map>\n"); opal_asprintf(&tmp, "<map>\n");
/* loop through nodes */ /* loop through nodes */
for (i=0; i < src->nodes->size; i++) { for (i=0; i < src->nodes->size; i++) {
if (NULL == (node = (orte_node_t*)opal_pointer_array_get_item(src->nodes, i))) { if (NULL == (node = (orte_node_t*)opal_pointer_array_get_item(src->nodes, i))) {
continue; continue;
} }
orte_dt_print_node(&tmp2, "\t", node, ORTE_NODE); orte_dt_print_node(&tmp2, "\t", node, ORTE_NODE);
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp2); free(tmp2);
free(tmp); free(tmp);
tmp = tmp3; tmp = tmp3;
@ -652,16 +652,16 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
continue; continue;
} }
orte_dt_print_proc(&tmp2, "\t\t", proc, ORTE_PROC); orte_dt_print_proc(&tmp2, "\t\t", proc, ORTE_PROC);
asprintf(&tmp3, "%s%s", tmp, tmp2); opal_asprintf(&tmp3, "%s%s", tmp, tmp2);
free(tmp2); free(tmp2);
free(tmp); free(tmp);
tmp = tmp3; tmp = tmp3;
} }
asprintf(&tmp3, "%s\t</host>\n", tmp); opal_asprintf(&tmp3, "%s\t</host>\n", tmp);
free(tmp); free(tmp);
tmp = tmp3; tmp = tmp3;
} }
asprintf(&tmp2, "%s</map>\n", tmp); opal_asprintf(&tmp2, "%s</map>\n", tmp);
free(tmp); free(tmp);
free(pfx2); free(pfx2);
*output = tmp2; *output = tmp2;
@ -669,10 +669,10 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
} }
asprintf(&pfx, "%s\t", pfx2); opal_asprintf(&pfx, "%s\t", pfx2);
if (orte_devel_level_output) { if (orte_devel_level_output) {
asprintf(&tmp, "\n%sMapper requested: %s Last mapper: %s Mapping policy: %s Ranking policy: %s\n%sBinding policy: %s Cpu set: %s PPR: %s Cpus-per-rank: %d", opal_asprintf(&tmp, "\n%sMapper requested: %s Last mapper: %s Mapping policy: %s Ranking policy: %s\n%sBinding policy: %s Cpu set: %s PPR: %s Cpus-per-rank: %d",
pfx2, (NULL == src->req_mapper) ? "NULL" : src->req_mapper, pfx2, (NULL == src->req_mapper) ? "NULL" : src->req_mapper,
(NULL == src->last_mapper) ? "NULL" : src->last_mapper, (NULL == src->last_mapper) ? "NULL" : src->last_mapper,
orte_rmaps_base_print_mapping(src->mapping), orte_rmaps_base_print_mapping(src->mapping),
@ -683,10 +683,10 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
(int)src->cpus_per_rank); (int)src->cpus_per_rank);
if (ORTE_VPID_INVALID == src->daemon_vpid_start) { if (ORTE_VPID_INVALID == src->daemon_vpid_start) {
asprintf(&tmp2, "%s\n%sNum new daemons: %ld\tNew daemon starting vpid INVALID\n%sNum nodes: %ld", opal_asprintf(&tmp2, "%s\n%sNum new daemons: %ld\tNew daemon starting vpid INVALID\n%sNum nodes: %ld",
tmp, pfx, (long)src->num_new_daemons, pfx, (long)src->num_nodes); tmp, pfx, (long)src->num_new_daemons, pfx, (long)src->num_nodes);
} else { } else {
asprintf(&tmp2, "%s\n%sNum new daemons: %ld\tNew daemon starting vpid %ld\n%sNum nodes: %ld", opal_asprintf(&tmp2, "%s\n%sNum new daemons: %ld\tNew daemon starting vpid %ld\n%sNum nodes: %ld",
tmp, pfx, (long)src->num_new_daemons, (long)src->daemon_vpid_start, tmp, pfx, (long)src->num_new_daemons, (long)src->daemon_vpid_start,
pfx, (long)src->num_nodes); pfx, (long)src->num_nodes);
} }
@ -694,7 +694,7 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
tmp = tmp2; tmp = tmp2;
} else { } else {
/* this is being printed for a user, so let's make it easier to see */ /* this is being printed for a user, so let's make it easier to see */
asprintf(&tmp, "\n%s======================== JOB MAP ========================", pfx2); opal_asprintf(&tmp, "\n%s======================== JOB MAP ========================", pfx2);
} }
@ -708,7 +708,7 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
free(tmp); free(tmp);
return rc; return rc;
} }
asprintf(&tmp3, "%s\n%s", tmp, tmp2); opal_asprintf(&tmp3, "%s\n%s", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
tmp = tmp3; tmp = tmp3;
@ -716,7 +716,7 @@ int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_dat
if (!orte_devel_level_output) { if (!orte_devel_level_output) {
/* this is being printed for a user, so let's make it easier to see */ /* this is being printed for a user, so let's make it easier to see */
asprintf(&tmp2, "%s\n\n%s=============================================================\n", tmp, pfx2); opal_asprintf(&tmp2, "%s\n\n%s=============================================================\n", tmp, pfx2);
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }
@ -736,99 +736,99 @@ int orte_dt_print_attr(char **output, char *prefix,
char *prefx; char *prefx;
/* deal with NULL prefix */ /* deal with NULL prefix */
if (NULL == prefix) asprintf(&prefx, " "); if (NULL == prefix) opal_asprintf(&prefx, " ");
else prefx = strdup(prefix); else prefx = strdup(prefix);
/* if src is NULL, just print data type and return */ /* if src is NULL, just print data type and return */
if (NULL == src) { if (NULL == src) {
asprintf(output, "%sData type: ORTE_ATTR\tValue: NULL pointer", prefx); opal_asprintf(output, "%sData type: ORTE_ATTR\tValue: NULL pointer", prefx);
free(prefx); free(prefx);
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
switch (src->type) { switch (src->type) {
case OPAL_STRING: case OPAL_STRING:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_STRING\tKey: %s\tValue: %s", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_STRING\tKey: %s\tValue: %s",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.string); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.string);
break; break;
case OPAL_SIZE: case OPAL_SIZE:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_SIZE\tKey: %s\tValue: %lu", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_SIZE\tKey: %s\tValue: %lu",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.size); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.size);
break; break;
case OPAL_PID: case OPAL_PID:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_PID\tKey: %s\tValue: %lu", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_PID\tKey: %s\tValue: %lu",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.pid); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.pid);
break; break;
case OPAL_INT: case OPAL_INT:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT\tKey: %s\tValue: %d", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT\tKey: %s\tValue: %d",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.integer); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.integer);
break; break;
case OPAL_INT8: case OPAL_INT8:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT8\tKey: %s\tValue: %d", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT8\tKey: %s\tValue: %d",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int8); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int8);
break; break;
case OPAL_INT16: case OPAL_INT16:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT16\tKey: %s\tValue: %d", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT16\tKey: %s\tValue: %d",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int16); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int16);
break; break;
case OPAL_INT32: case OPAL_INT32:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT32\tKey: %s\tValue: %d", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT32\tKey: %s\tValue: %d",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.int32); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.int32);
break; break;
case OPAL_INT64: case OPAL_INT64:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT64\tKey: %s\tValue: %d", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_INT64\tKey: %s\tValue: %d",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int64); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (int)src->data.int64);
break; break;
case OPAL_UINT: case OPAL_UINT:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT\tKey: %s\tValue: %u", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT\tKey: %s\tValue: %u",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint);
break; break;
case OPAL_UINT8: case OPAL_UINT8:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT8\tKey: %s\tValue: %u", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT8\tKey: %s\tValue: %u",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint8); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint8);
break; break;
case OPAL_UINT16: case OPAL_UINT16:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT16\tKey: %s\tValue: %u", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT16\tKey: %s\tValue: %u",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint16); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned int)src->data.uint16);
break; break;
case OPAL_UINT32: case OPAL_UINT32:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT32\tKey: %s\tValue: %u", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT32\tKey: %s\tValue: %u",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.uint32); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.uint32);
break; break;
case OPAL_UINT64: case OPAL_UINT64:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT64\tKey: %s\tValue: %lu", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_UINT64\tKey: %s\tValue: %lu",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.uint64); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (unsigned long)src->data.uint64);
break; break;
case OPAL_BYTE_OBJECT: case OPAL_BYTE_OBJECT:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_BYTE_OBJECT\tKey: %s\tValue: UNPRINTABLE", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_BYTE_OBJECT\tKey: %s\tValue: UNPRINTABLE",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key)); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key));
break; break;
case OPAL_BUFFER: case OPAL_BUFFER:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_BUFFER\tKey: %s\tValue: UNPRINTABLE", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_BUFFER\tKey: %s\tValue: UNPRINTABLE",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key)); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key));
break; break;
case OPAL_FLOAT: case OPAL_FLOAT:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_FLOAT\tKey: %s\tValue: %f", opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_FLOAT\tKey: %s\tValue: %f",
prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.fval); prefx, src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), src->data.fval);
break; break;
case OPAL_TIMEVAL: case OPAL_TIMEVAL:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_TIMEVAL\tKey: %s\tValue: %ld.%06ld", prefx, opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_TIMEVAL\tKey: %s\tValue: %ld.%06ld", prefx,
src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (long)src->data.tv.tv_sec, (long)src->data.tv.tv_usec); src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key), (long)src->data.tv.tv_sec, (long)src->data.tv.tv_usec);
break; break;
case OPAL_PTR: case OPAL_PTR:
asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_PTR\tKey: %s", prefx, opal_asprintf(output, "%sORTE_ATTR: %s Data type: OPAL_PTR\tKey: %s", prefx,
src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key)); src->local ? "LOCAL" : "GLOBAL", orte_attr_key_to_str(src->key));
break; break;
case ORTE_VPID: case ORTE_VPID:
asprintf(output, "%sORTE_ATTR: %s Data type: ORTE_VPID\tKey: %s\tValue: %s", prefx, src->local ? "LOCAL" : "GLOBAL", opal_asprintf(output, "%sORTE_ATTR: %s Data type: ORTE_VPID\tKey: %s\tValue: %s", prefx, src->local ? "LOCAL" : "GLOBAL",
orte_attr_key_to_str(src->key), ORTE_VPID_PRINT(src->data.vpid)); orte_attr_key_to_str(src->key), ORTE_VPID_PRINT(src->data.vpid));
break; break;
case ORTE_JOBID: case ORTE_JOBID:
asprintf(output, "%sORTE_ATTR: %s Data type: ORTE_JOBID\tKey: %s\tValue: %s", prefx, src->local ? "LOCAL" : "GLOBAL", opal_asprintf(output, "%sORTE_ATTR: %s Data type: ORTE_JOBID\tKey: %s\tValue: %s", prefx, src->local ? "LOCAL" : "GLOBAL",
orte_attr_key_to_str(src->key), ORTE_JOBID_PRINT(src->data.jobid)); orte_attr_key_to_str(src->key), ORTE_JOBID_PRINT(src->data.jobid));
break; break;
default: default:
asprintf(output, "%sORTE_ATTR: %s Data type: UNKNOWN\tKey: %s\tValue: UNPRINTABLE", opal_asprintf(output, "%sORTE_ATTR: %s Data type: UNKNOWN\tKey: %s\tValue: UNPRINTABLE",
prefx, orte_attr_key_to_str(src->key), src->local ? "LOCAL" : "GLOBAL"); prefx, orte_attr_key_to_str(src->key), src->local ? "LOCAL" : "GLOBAL");
break; break;
} }
@ -843,27 +843,27 @@ int orte_dt_print_sig(char **output, char *prefix, orte_grpcomm_signature_t *src
char *tmp, *tmp2; char *tmp, *tmp2;
/* deal with NULL prefix */ /* deal with NULL prefix */
if (NULL == prefix) asprintf(&prefx, " "); if (NULL == prefix) opal_asprintf(&prefx, " ");
else prefx = strdup(prefix); else prefx = strdup(prefix);
/* if src is NULL, just print data type and return */ /* if src is NULL, just print data type and return */
if (NULL == src) { if (NULL == src) {
asprintf(output, "%sData type: ORTE_SIG", prefx); opal_asprintf(output, "%sData type: ORTE_SIG", prefx);
free(prefx); free(prefx);
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
if (NULL == src->signature) { if (NULL == src->signature) {
asprintf(output, "%sORTE_SIG Procs: NULL", prefx); opal_asprintf(output, "%sORTE_SIG Procs: NULL", prefx);
free(prefx); free(prefx);
return ORTE_SUCCESS; return ORTE_SUCCESS;
} }
/* there must be at least one proc in the signature */ /* there must be at least one proc in the signature */
asprintf(&tmp, "%sORTE_SIG Procs: ", prefx); opal_asprintf(&tmp, "%sORTE_SIG Procs: ", prefx);
for (i=0; i < src->sz; i++) { for (i=0; i < src->sz; i++) {
asprintf(&tmp2, "%s%s", tmp, ORTE_NAME_PRINT(&src->signature[i])); opal_asprintf(&tmp2, "%s%s", tmp, ORTE_NAME_PRINT(&src->signature[i]));
free(tmp); free(tmp);
tmp = tmp2; tmp = tmp2;
} }

Просмотреть файл

@ -14,6 +14,7 @@
* Copyright (c) 2010-2015 Los Alamos National Security, LLC. * Copyright (c) 2010-2015 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2011-2012 University of Houston. All rights reserved. * Copyright (c) 2011-2012 University of Houston. All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,6 +28,7 @@
#include "opal/class/opal_pointer_array.h" #include "opal/class/opal_pointer_array.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "opal/runtime/opal_info_support.h" #include "opal/runtime/opal_info_support.h"
#include "orte/include/orte/frameworks.h" #include "orte/include/orte/frameworks.h"
@ -97,7 +99,7 @@ void orte_info_show_orte_version(const char *scope)
{ {
char *tmp, *tmp2; char *tmp, *tmp2;
asprintf(&tmp, "%s:version:full", orte_info_type_orte); opal_asprintf(&tmp, "%s:version:full", orte_info_type_orte);
tmp2 = opal_info_make_version_str(scope, tmp2 = opal_info_make_version_str(scope,
ORTE_MAJOR_VERSION, ORTE_MINOR_VERSION, ORTE_MAJOR_VERSION, ORTE_MINOR_VERSION,
ORTE_RELEASE_VERSION, ORTE_RELEASE_VERSION,
@ -106,11 +108,10 @@ void orte_info_show_orte_version(const char *scope)
opal_info_out("Open RTE", tmp, tmp2); opal_info_out("Open RTE", tmp, tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
asprintf(&tmp, "%s:version:repo", orte_info_type_orte); opal_asprintf(&tmp, "%s:version:repo", orte_info_type_orte);
opal_info_out("Open RTE repo revision", tmp, ORTE_REPO_REV); opal_info_out("Open RTE repo revision", tmp, ORTE_REPO_REV);
free(tmp); free(tmp);
asprintf(&tmp, "%s:version:release_date", orte_info_type_orte); opal_asprintf(&tmp, "%s:version:release_date", orte_info_type_orte);
opal_info_out("Open RTE release date", tmp, ORTE_RELEASE_DATE); opal_info_out("Open RTE release date", tmp, ORTE_RELEASE_DATE);
free(tmp); free(tmp);
} }

Просмотреть файл

@ -37,6 +37,7 @@
#include "opal/mca/installdirs/installdirs.h" #include "opal/mca/installdirs/installdirs.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/printf.h"
#include "orte/util/proc_info.h" #include "orte/util/proc_info.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
@ -380,7 +381,7 @@ int orte_register_params(void)
if (NULL == orte_default_hostfile) { if (NULL == orte_default_hostfile) {
/* nothing was given, so define the default */ /* nothing was given, so define the default */
asprintf(&orte_default_hostfile, "%s/openmpi-default-hostfile", opal_install_dirs.sysconfdir); opal_asprintf(&orte_default_hostfile, "%s/openmpi-default-hostfile", opal_install_dirs.sysconfdir);
/* flag that nothing was given */ /* flag that nothing was given */
orte_default_hostfile_given = false; orte_default_hostfile_given = false;
} else if (0 == strcmp(orte_default_hostfile, "none")) { } else if (0 == strcmp(orte_default_hostfile, "none")) {

Просмотреть файл

@ -32,7 +32,7 @@ int main(int argc, char* argv[])
for (i = 0; i < NUM_CHILDREN; ++i) { for (i = 0; i < NUM_CHILDREN; ++i) {
printf("Parent [pid %ld] about to spawn child #%d\n", printf("Parent [pid %ld] about to spawn child #%d\n",
(long)pid, i); (long)pid, i);
asprintf(&(child_argv[0]), "%d", i); opal_asprintf(&(child_argv[0]), "%d", i);
MPI_Comm_spawn(argv[0], child_argv, 1, MPI_INFO_NULL, MPI_Comm_spawn(argv[0], child_argv, 1, MPI_INFO_NULL,
0, MPI_COMM_WORLD, &children[i], 0, MPI_COMM_WORLD, &children[i],
MPI_ERRCODES_IGNORE); MPI_ERRCODES_IGNORE);

Просмотреть файл

@ -32,15 +32,15 @@ int main(int argc, char* argv[])
MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_APPNUM, &appnum, &flag); MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_APPNUM, &appnum, &flag);
if (NULL == appnum) { if (NULL == appnum) {
asprintf(&appstr, "UNDEFINED"); opal_asprintf(&appstr, "UNDEFINED");
} else { } else {
asprintf(&appstr, "%d", *(int*)appnum); opal_asprintf(&appstr, "%d", *(int*)appnum);
} }
MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &univ_size, &flag); MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &univ_size, &flag);
if (NULL == univ_size) { if (NULL == univ_size) {
asprintf(&unistr, "UNDEFINED"); opal_asprintf(&unistr, "UNDEFINED");
} else { } else {
asprintf(&unistr, "%d", *(int*)univ_size); opal_asprintf(&unistr, "%d", *(int*)univ_size);
} }
gethostname(hostname, sizeof(hostname)); gethostname(hostname, sizeof(hostname));

Просмотреть файл

@ -23,7 +23,7 @@ void ompitest_warning( char* filename, int lineno, const char* fmt, ... )
va_list va_list; va_list va_list;
va_start(va_list, fmt); va_start(va_list, fmt);
vasprintf( &buf, fmt, va_list ); opal_vasprintf( &buf, fmt, va_list );
va_end(va_list); va_end(va_list);
printf( "*warning* %s:%d %s\n", filename, lineno, buf ); printf( "*warning* %s:%d %s\n", filename, lineno, buf );
free(buf); free(buf);
@ -35,7 +35,7 @@ void ompitest_error( char* filename, int lineno, const char* fmt, ... )
va_list va_list; va_list va_list;
va_start(va_list, fmt); va_start(va_list, fmt);
vasprintf( &buf, fmt, va_list ); opal_vasprintf( &buf, fmt, va_list );
va_end(va_list); va_end(va_list);
printf( "*error* %s:%d %s\n", filename, lineno, buf ); printf( "*error* %s:%d %s\n", filename, lineno, buf );
free(buf); free(buf);

Просмотреть файл

@ -33,7 +33,7 @@ int main(int argc, char *argv[])
printf("Hello from process %d of %d\n", self, size); printf("Hello from process %d of %d\n", self, size);
MPI_Barrier(MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD);
if (-1 == reader || reader == self) { if (-1 == reader || reader == self) {
asprintf(&junk, "./junk%d", self); opal_asprintf(&junk, "./junk%d", self);
unlink(junk); unlink(junk);
file = fopen(junk, "w+"); file = fopen(junk, "w+");
if (NULL == file) { if (NULL == file) {

Просмотреть файл

@ -3,6 +3,7 @@
* Copyright (c) 2008 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2008 Los Alamos National Security, LLC. All rights reserved.
* *
* Copyright (c) 2015 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -40,7 +41,7 @@ int main(int argc, char* argv[])
gettimeofday(&tv, NULL); gettimeofday(&tv, NULL);
/* form the command */ /* form the command */
asprintf(&cmd, "mpirun -npernode %d ./ziaprobe %ld %d", opal_asprintf(&cmd, "mpirun -npernode %d ./ziaprobe %ld %d",
nppn, (long) tv.tv_sec, tv.tv_usec); nppn, (long) tv.tv_sec, tv.tv_usec);
/* execute it */ /* execute it */

Просмотреть файл

@ -328,7 +328,7 @@ void bind_me_to(bool main_thread) {
set = hwloc_bitmap_alloc(); set = hwloc_bitmap_alloc();
hwloc_get_cpubind(topo, set, HWLOC_CPUBIND_THREAD); hwloc_get_cpubind(topo, set, HWLOC_CPUBIND_THREAD);
hwloc_bitmap_asprintf(&buffer, set); hwloc_bitmap_opal_asprintf(&buffer, set);
printf("%s : [objs = %d] : cpuset is %s\n", (main_thread ? "Main" : "Peer"), num_objs, buffer); printf("%s : [objs = %d] : cpuset is %s\n", (main_thread ? "Main" : "Peer"), num_objs, buffer);
free(buffer); free(buffer);
hwloc_bitmap_free(set); hwloc_bitmap_free(set);

Просмотреть файл

@ -446,7 +446,7 @@ int prun(int argc, char *argv[])
} }
/* if they specified the DVM's pid, then pass it along */ /* if they specified the DVM's pid, then pass it along */
if (0 != myoptions.pid) { if (0 != myoptions.pid) {
asprintf(&param, "%d", myoptions.pid); opal_asprintf(&param, "%d", myoptions.pid);
opal_setenv(OPAL_MCA_PREFIX"ess_tool_server_pid", param, true, &environ); opal_setenv(OPAL_MCA_PREFIX"ess_tool_server_pid", param, true, &environ);
free(param); free(param);
} }
@ -612,14 +612,14 @@ int prun(int argc, char *argv[])
val = OBJ_NEW(opal_value_t); val = OBJ_NEW(opal_value_t);
val->key = strdup(OPAL_PMIX_PPR); val->key = strdup(OPAL_PMIX_PPR);
val->type = OPAL_STRING; val->type = OPAL_STRING;
(void)asprintf(&val->data.string, "%d:node", orte_cmd_options.npernode); opal_asprintf(&val->data.string, "%d:node", orte_cmd_options.npernode);
opal_list_append(&job_info, &val->super); opal_list_append(&job_info, &val->super);
} else if (0 < orte_cmd_options.npersocket) { } else if (0 < orte_cmd_options.npersocket) {
/* define the ppr */ /* define the ppr */
val = OBJ_NEW(opal_value_t); val = OBJ_NEW(opal_value_t);
val->key = strdup(OPAL_PMIX_PPR); val->key = strdup(OPAL_PMIX_PPR);
val->type = OPAL_STRING; val->type = OPAL_STRING;
(void)asprintf(&val->data.string, "%d:socket", orte_cmd_options.npernode); opal_asprintf(&val->data.string, "%d:socket", orte_cmd_options.npernode);
opal_list_append(&job_info, &val->super); opal_list_append(&job_info, &val->super);
} }
@ -1212,9 +1212,9 @@ static int create_app(int argc, char* argv[],
if (NULL == strstr(app->argv[i], opal_install_dirs.libdir)) { if (NULL == strstr(app->argv[i], opal_install_dirs.libdir)) {
/* doesn't appear to - add it to be safe */ /* doesn't appear to - add it to be safe */
if (':' == app->argv[i][strlen(app->argv[i]-1)]) { if (':' == app->argv[i][strlen(app->argv[i]-1)]) {
asprintf(&value, "-Djava.library.path=%s%s", dptr, opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s%s", dptr, opal_install_dirs.libdir);
} else { } else {
asprintf(&value, "-Djava.library.path=%s:%s", dptr, opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s:%s", dptr, opal_install_dirs.libdir);
} }
free(app->argv[i]); free(app->argv[i]);
app->argv[i] = value; app->argv[i] = value;
@ -1224,7 +1224,7 @@ static int create_app(int argc, char* argv[],
} }
if (!found) { if (!found) {
/* need to add it right after the java command */ /* need to add it right after the java command */
asprintf(&value, "-Djava.library.path=%s", opal_install_dirs.libdir); opal_asprintf(&value, "-Djava.library.path=%s", opal_install_dirs.libdir);
opal_argv_insert_element(&app->argv, 1, value); opal_argv_insert_element(&app->argv, 1, value);
free(value); free(value);
} }
@ -1249,7 +1249,7 @@ static int create_app(int argc, char* argv[],
} }
free(value); free(value);
/* always add the local directory */ /* always add the local directory */
asprintf(&value, "%s:%s", app->cwd, app->argv[i+1]); opal_asprintf(&value, "%s:%s", app->cwd, app->argv[i+1]);
free(app->argv[i+1]); free(app->argv[i+1]);
app->argv[i+1] = value; app->argv[i+1] = value;
break; break;
@ -1276,7 +1276,7 @@ static int create_app(int argc, char* argv[],
} }
free(value); free(value);
/* always add the local directory */ /* always add the local directory */
(void)asprintf(&value, "%s:%s", app->cwd, app->argv[1]); opal_asprintf(&value, "%s:%s", app->cwd, app->argv[1]);
free(app->argv[1]); free(app->argv[1]);
app->argv[1] = value; app->argv[1] = value;
opal_argv_insert_element(&app->argv, 1, "-cp"); opal_argv_insert_element(&app->argv, 1, "-cp");
@ -1295,7 +1295,7 @@ static int create_app(int argc, char* argv[],
/* check for mpi.jar */ /* check for mpi.jar */
value = opal_os_path(false, opal_install_dirs.libdir, "mpi.jar", NULL); value = opal_os_path(false, opal_install_dirs.libdir, "mpi.jar", NULL);
if (access(value, F_OK ) != -1) { if (access(value, F_OK ) != -1) {
(void)asprintf(&str2, "%s:%s", str, value); opal_asprintf(&str2, "%s:%s", str, value);
free(str); free(str);
str = str2; str = str2;
} }
@ -1303,7 +1303,7 @@ static int create_app(int argc, char* argv[],
/* check for shmem.jar */ /* check for shmem.jar */
value = opal_os_path(false, opal_install_dirs.libdir, "shmem.jar", NULL); value = opal_os_path(false, opal_install_dirs.libdir, "shmem.jar", NULL);
if (access(value, F_OK ) != -1) { if (access(value, F_OK ) != -1) {
asprintf(&str2, "%s:%s", str, value); opal_asprintf(&str2, "%s:%s", str, value);
free(str); free(str);
str = str2; str = str2;
} }
@ -1366,7 +1366,7 @@ static void set_classpath_jar_file(opal_pmix_app_t *app, int index, char *jarfil
char *fmt = ':' == app->argv[index][strlen(app->argv[index]-1)] char *fmt = ':' == app->argv[index][strlen(app->argv[index]-1)]
? "%s%s/%s" : "%s:%s/%s"; ? "%s%s/%s" : "%s:%s/%s";
char *str; char *str;
asprintf(&str, fmt, app->argv[index], opal_install_dirs.libdir, jarfile); opal_asprintf(&str, fmt, app->argv[index], opal_install_dirs.libdir, jarfile);
free(app->argv[index]); free(app->argv[index]);
app->argv[index] = str; app->argv[index] = str;
} }

Просмотреть файл

@ -16,7 +16,7 @@
* Copyright (c) 2011-2013 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2011-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved. * Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2017 UT-Battelle, LLC. All rights reserved. * Copyright (c) 2017 UT-Battelle, LLC. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -59,6 +59,7 @@
#include "opal/util/os_dirpath.h" #include "opal/util/os_dirpath.h"
#include "opal/util/basename.h" #include "opal/util/basename.h"
#include "opal/util/error.h" #include "opal/util/error.h"
#include "opal/util/printf.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
@ -176,14 +177,14 @@ main(int argc, char *argv[])
opal_os_dirpath_destroy(orte_process_info.top_session_dir, true, NULL); opal_os_dirpath_destroy(orte_process_info.top_session_dir, true, NULL);
/* also get rid of any legacy session directories */ /* also get rid of any legacy session directories */
asprintf(&legacy, "%s/openmpi-sessions-%d@%s_0", opal_asprintf(&legacy, "%s/openmpi-sessions-%d@%s_0",
orte_process_info.tmpdir_base, orte_process_info.tmpdir_base,
(int)geteuid(), orte_process_info.nodename); (int)geteuid(), orte_process_info.nodename);
opal_os_dirpath_destroy(legacy, true, NULL); opal_os_dirpath_destroy(legacy, true, NULL);
free(legacy); free(legacy);
/* and finally get rid of any lingering pmix-related artifacts */ /* and finally get rid of any lingering pmix-related artifacts */
asprintf(&legacy, "rm -rf %s/pmix*", orte_process_info.tmpdir_base); opal_asprintf(&legacy, "rm -rf %s/pmix*", orte_process_info.tmpdir_base);
system(legacy); system(legacy);
free(legacy); free(legacy);
@ -315,7 +316,7 @@ void kill_procs(void) {
/* get the userid of the user */ /* get the userid of the user */
uid = getuid(); uid = getuid();
asprintf(&this_user, "%d", uid); opal_asprintf(&this_user, "%d", uid);
/* /*
* There is a race condition here. The problem is that we are looking * There is a race condition here. The problem is that we are looking

Просмотреть файл

@ -12,6 +12,7 @@
* Copyright (c) 2007-2010 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007-2010 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -26,6 +27,7 @@
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "opal/class/opal_pointer_array.h" #include "opal/class/opal_pointer_array.h"
#include "opal/util/cmd_line.h" #include "opal/util/cmd_line.h"
#include "opal/util/printf.h"
#include "opal/mca/mca.h" #include "opal/mca/mca.h"
BEGIN_C_DECLS BEGIN_C_DECLS

Просмотреть файл

@ -10,6 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -104,7 +105,7 @@ void orte_info_out(const char *pretty_message, const char *plain_message, const
if (orte_info_pretty && NULL != pretty_message) { if (orte_info_pretty && NULL != pretty_message) {
if (centerpoint > (int)strlen(pretty_message)) { if (centerpoint > (int)strlen(pretty_message)) {
asprintf(&spaces, "%*s", centerpoint - opal_asprintf(&spaces, "%*s", centerpoint -
(int)strlen(pretty_message), " "); (int)strlen(pretty_message), " ");
} else { } else {
spaces = strdup(""); spaces = strdup("");
@ -118,9 +119,9 @@ void orte_info_out(const char *pretty_message, const char *plain_message, const
} }
max_value_width = screen_width - strlen(spaces) - strlen(pretty_message) - 2; max_value_width = screen_width - strlen(spaces) - strlen(pretty_message) - 2;
if (0 < strlen(pretty_message)) { if (0 < strlen(pretty_message)) {
asprintf(&filler, "%s%s: ", spaces, pretty_message); opal_asprintf(&filler, "%s%s: ", spaces, pretty_message);
} else { } else {
asprintf(&filler, "%s ", spaces); opal_asprintf(&filler, "%s ", spaces);
} }
free(spaces); free(spaces);
spaces = NULL; spaces = NULL;
@ -130,7 +131,7 @@ void orte_info_out(const char *pretty_message, const char *plain_message, const
printf("%s%s\n", filler, v); printf("%s%s\n", filler, v);
break; break;
} else { } else {
asprintf(&spaces, "%*s", centerpoint + 2, " "); opal_asprintf(&spaces, "%*s", centerpoint + 2, " ");
/* Work backwards to find the first space before /* Work backwards to find the first space before
* max_value_width * max_value_width
@ -193,7 +194,7 @@ void orte_info_out_int(const char *pretty_message,
{ {
char *valstr; char *valstr;
asprintf(&valstr, "%d", (int)value); opal_asprintf(&valstr, "%d", (int)value);
orte_info_out(pretty_message, plain_message, valstr); orte_info_out(pretty_message, plain_message, valstr);
free(valstr); free(valstr);
} }

Просмотреть файл

@ -16,6 +16,7 @@
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2018 Los Alamos National Security, LLC. All rights * Copyright (c) 2018 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -165,7 +166,7 @@ static void orte_info_show_mca_group_params(const mca_base_var_group_t *group, b
if (0 == j && orte_info_pretty) { if (0 == j && orte_info_pretty) {
char *message; char *message;
asprintf (&message, "MCA %s", group->group_framework); opal_asprintf (&message, "MCA %s", group->group_framework);
orte_info_out(message, message, strings[j]); orte_info_out(message, message, strings[j]);
free(message); free(message);
} else { } else {
@ -305,7 +306,7 @@ void orte_info_show_path(const char *type, const char *value)
pretty = strdup(type); pretty = strdup(type);
pretty[0] = toupper(pretty[0]); pretty[0] = toupper(pretty[0]);
asprintf(&path, "path:%s", type); opal_asprintf(&path, "path:%s", type);
orte_info_out(pretty, path, value); orte_info_out(pretty, path, value);
free(pretty); free(pretty);
free(path); free(path);
@ -360,10 +361,10 @@ void orte_info_do_config(bool want_all)
symbol_visibility = OPAL_C_HAVE_VISIBILITY ? "yes" : "no"; symbol_visibility = OPAL_C_HAVE_VISIBILITY ? "yes" : "no";
/* setup strings that require allocation */ /* setup strings that require allocation */
asprintf(&threads, "%s (OPAL: yes, ORTE progress: yes, Event lib: yes)", opal_asprintf(&threads, "%s (OPAL: yes, ORTE progress: yes, Event lib: yes)",
"posix"); "posix");
asprintf(&ft_support, "%s (checkpoint thread: %s)", opal_asprintf(&ft_support, "%s (checkpoint thread: %s)",
OPAL_ENABLE_FT ? "yes" : "no", OPAL_ENABLE_FT_THREAD ? "yes" : "no");; OPAL_ENABLE_FT ? "yes" : "no", OPAL_ENABLE_FT_THREAD ? "yes" : "no");;
/* output values */ /* output values */

Просмотреть файл

@ -13,6 +13,7 @@
* Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -239,12 +240,12 @@ static void show_mca_version(const mca_base_component_t* component,
"", false, ""); "", false, "");
if (orte_info_pretty) { if (orte_info_pretty) {
asprintf(&message, "MCA %s", component->mca_type_name); opal_asprintf(&message, "MCA %s", component->mca_type_name);
printed = false; printed = false;
asprintf(&content, "%s (", component->mca_component_name); opal_asprintf(&content, "%s (", component->mca_component_name);
if (want_mca) { if (want_mca) {
asprintf(&tmp, "%sMCA v%s", content, mca_version); opal_asprintf(&tmp, "%sMCA v%s", content, mca_version);
free(content); free(content);
content = tmp; content = tmp;
printed = true; printed = true;
@ -252,11 +253,11 @@ static void show_mca_version(const mca_base_component_t* component,
if (want_type) { if (want_type) {
if (printed) { if (printed) {
asprintf(&tmp, "%s, ", content); opal_asprintf(&tmp, "%s, ", content);
free(content); free(content);
content = tmp; content = tmp;
} }
asprintf(&tmp, "%sAPI v%s", content, api_version); opal_asprintf(&tmp, "%sAPI v%s", content, api_version);
free(content); free(content);
content = tmp; content = tmp;
printed = true; printed = true;
@ -264,20 +265,20 @@ static void show_mca_version(const mca_base_component_t* component,
if (want_component) { if (want_component) {
if (printed) { if (printed) {
asprintf(&tmp, "%s, ", content); opal_asprintf(&tmp, "%s, ", content);
free(content); free(content);
content = tmp; content = tmp;
} }
asprintf(&tmp, "%sComponent v%s", content, component_version); opal_asprintf(&tmp, "%sComponent v%s", content, component_version);
free(content); free(content);
content = tmp; content = tmp;
printed = true; printed = true;
} }
if (NULL != content) { if (NULL != content) {
asprintf(&tmp, "%s)", content); opal_asprintf(&tmp, "%s)", content);
free(content); free(content);
} else { } else {
asprintf(&tmp, ")"); opal_asprintf(&tmp, ")");
} }
orte_info_out(message, NULL, tmp); orte_info_out(message, NULL, tmp);
@ -285,19 +286,19 @@ static void show_mca_version(const mca_base_component_t* component,
free(tmp); free(tmp);
} else { } else {
asprintf(&message, "mca:%s:%s:version", component->mca_type_name, component->mca_component_name); opal_asprintf(&message, "mca:%s:%s:version", component->mca_type_name, component->mca_component_name);
if (want_mca) { if (want_mca) {
asprintf(&tmp, "mca:%s", mca_version); opal_asprintf(&tmp, "mca:%s", mca_version);
orte_info_out(NULL, message, tmp); orte_info_out(NULL, message, tmp);
free(tmp); free(tmp);
} }
if (want_type) { if (want_type) {
asprintf(&tmp, "api:%s", api_version); opal_asprintf(&tmp, "api:%s", api_version);
orte_info_out(NULL, message, tmp); orte_info_out(NULL, message, tmp);
free(tmp); free(tmp);
} }
if (want_component) { if (want_component) {
asprintf(&tmp, "component:%s", component_version); opal_asprintf(&tmp, "component:%s", component_version);
orte_info_out(NULL, message, tmp); orte_info_out(NULL, message, tmp);
free(tmp); free(tmp);
} }
@ -325,17 +326,17 @@ static char *make_version_str(const char *scope,
str = strdup(temp); str = strdup(temp);
if (release > 0) { if (release > 0) {
snprintf(temp, BUFSIZ - 1, ".%d", release); snprintf(temp, BUFSIZ - 1, ".%d", release);
asprintf(&tmp, "%s%s", str, temp); opal_asprintf(&tmp, "%s%s", str, temp);
free(str); free(str);
str = tmp; str = tmp;
} }
if (NULL != greek) { if (NULL != greek) {
asprintf(&tmp, "%s%s", str, greek); opal_asprintf(&tmp, "%s%s", str, greek);
free(str); free(str);
str = tmp; str = tmp;
} }
if (want_repo && NULL != repo) { if (want_repo && NULL != repo) {
asprintf(&tmp, "%s%s", str, repo); opal_asprintf(&tmp, "%s%s", str, repo);
free(str); free(str);
str = tmp; str = tmp;
} }

Просмотреть файл

@ -15,7 +15,7 @@
* Copyright (c) 2007-2016 Los Alamos National Security, LLC. All rights * Copyright (c) 2007-2016 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved. * Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -58,6 +58,7 @@
#include "opal/util/cmd_line.h" #include "opal/util/cmd_line.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
@ -439,7 +440,7 @@ static int pretty_print(orte_ps_mpirun_info_t *hnpinfo) {
/* /*
* Print header and remember header length * Print header and remember header length
*/ */
len_hdr = asprintf(&header, "Information from mpirun %s", ORTE_JOBID_PRINT(hnpinfo->hnp->name.jobid)); len_hdr = opal_asprintf(&header, "Information from mpirun %s", ORTE_JOBID_PRINT(hnpinfo->hnp->name.jobid));
printf("\n\n%s\n", header); printf("\n\n%s\n", header);
free(header); free(header);
@ -708,7 +709,7 @@ static int pretty_print_vpids(orte_job_t *job) {
if ((int)strlen(o_proc_name) > len_o_proc_name) if ((int)strlen(o_proc_name) > len_o_proc_name)
len_o_proc_name = strlen(o_proc_name); len_o_proc_name = strlen(o_proc_name);
asprintf(&rankstr, "%u", (uint)vpid->local_rank); opal_asprintf(&rankstr, "%u", (uint)vpid->local_rank);
if ((int)strlen(rankstr) > len_rank) if ((int)strlen(rankstr) > len_rank)
len_rank = strlen(rankstr); len_rank = strlen(rankstr);
free(rankstr); free(rankstr);

Просмотреть файл

@ -13,7 +13,7 @@
* Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007-2016 Los Alamos National Security, LLC. All rights * Copyright (c) 2007-2016 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved. * Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -43,6 +43,7 @@
#include "opal/util/argv.h" #include "opal/util/argv.h"
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/mca/pmix/pmix.h" #include "opal/mca/pmix/pmix.h"
@ -638,14 +639,14 @@ static void recv_stats(int status, orte_process_name_t* sender,
nodefield = tmp; nodefield = tmp;
} }
asprintf(&ctmp, "%d", stats->rank); opal_asprintf(&ctmp, "%d", stats->rank);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (rankfield < tmp) { if (rankfield < tmp) {
rankfield = tmp; rankfield = tmp;
} }
asprintf(&ctmp, "%lu", (unsigned long)stats->pid); opal_asprintf(&ctmp, "%lu", (unsigned long)stats->pid);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (pidfield < tmp) { if (pidfield < tmp) {
@ -659,7 +660,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 <= stats->priority) { if (0 <= stats->priority) {
pri_found = true; pri_found = true;
asprintf(&ctmp, "%d", stats->priority); opal_asprintf(&ctmp, "%d", stats->priority);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (prifield < tmp) { if (prifield < tmp) {
@ -669,7 +670,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 <= stats->num_threads) { if (0 <= stats->num_threads) {
thr_found = true; thr_found = true;
asprintf(&ctmp, "%d", stats->num_threads); opal_asprintf(&ctmp, "%d", stats->num_threads);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (thrfield < tmp) { if (thrfield < tmp) {
@ -679,7 +680,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 < stats->vsize) { if (0 < stats->vsize) {
vsize_found = true; vsize_found = true;
asprintf(&ctmp, "%8.2f", stats->vsize); opal_asprintf(&ctmp, "%8.2f", stats->vsize);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (vsizefield < tmp) { if (vsizefield < tmp) {
@ -689,7 +690,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 < stats->rss) { if (0 < stats->rss) {
rss_found = true; rss_found = true;
asprintf(&ctmp, "%8.2f", stats->rss); opal_asprintf(&ctmp, "%8.2f", stats->rss);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (rssfield < tmp) { if (rssfield < tmp) {
@ -699,7 +700,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 < stats->peak_vsize) { if (0 < stats->peak_vsize) {
pkv_found = true; pkv_found = true;
asprintf(&ctmp, "%8.2f", stats->peak_vsize); opal_asprintf(&ctmp, "%8.2f", stats->peak_vsize);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (pkvfield < tmp) { if (pkvfield < tmp) {
@ -709,7 +710,7 @@ static void recv_stats(int status, orte_process_name_t* sender,
if (0 <= stats->processor) { if (0 <= stats->processor) {
p_found = true; p_found = true;
asprintf(&ctmp, "%d", stats->processor); opal_asprintf(&ctmp, "%d", stats->processor);
tmp = strlen(ctmp); tmp = strlen(ctmp);
free(ctmp); free(ctmp);
if (pfield < tmp) { if (pfield < tmp) {

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014-2016 Research Organization for Information Science * Copyright (c) 2014-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -360,7 +360,7 @@ int orte_util_convert_vpid_to_string(char **vpid_string, const orte_vpid_t vpid)
return ORTE_SUCCESS; return ORTE_SUCCESS;
} }
if (0 > asprintf(vpid_string, "%ld", (long) vpid)) { if (0 > opal_asprintf(vpid_string, "%ld", (long) vpid)) {
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE); ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
return ORTE_ERR_OUT_OF_RESOURCE; return ORTE_ERR_OUT_OF_RESOURCE;
} }
@ -469,22 +469,22 @@ int orte_util_convert_process_name_to_string(char **name_string,
* it is passed back to us later * it is passed back to us later
*/ */
if (ORTE_JOBID_WILDCARD == name->jobid) { if (ORTE_JOBID_WILDCARD == name->jobid) {
asprintf(&tmp, "%s", ORTE_SCHEMA_WILDCARD_STRING); opal_asprintf(&tmp, "%s", ORTE_SCHEMA_WILDCARD_STRING);
} else if (ORTE_JOBID_INVALID == name->jobid) { } else if (ORTE_JOBID_INVALID == name->jobid) {
asprintf(&tmp, "%s", ORTE_SCHEMA_INVALID_STRING); opal_asprintf(&tmp, "%s", ORTE_SCHEMA_INVALID_STRING);
} else { } else {
asprintf(&tmp, "%lu", (unsigned long)name->jobid); opal_asprintf(&tmp, "%lu", (unsigned long)name->jobid);
} }
if (ORTE_VPID_WILDCARD == name->vpid) { if (ORTE_VPID_WILDCARD == name->vpid) {
asprintf(&tmp2, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_WILDCARD_STRING); opal_asprintf(&tmp2, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_WILDCARD_STRING);
} else if (ORTE_VPID_INVALID == name->vpid) { } else if (ORTE_VPID_INVALID == name->vpid) {
asprintf(&tmp2, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_INVALID_STRING); opal_asprintf(&tmp2, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_INVALID_STRING);
} else { } else {
asprintf(&tmp2, "%s%c%lu", tmp, ORTE_SCHEMA_DELIMITER_CHAR, (unsigned long)name->vpid); opal_asprintf(&tmp2, "%s%c%lu", tmp, ORTE_SCHEMA_DELIMITER_CHAR, (unsigned long)name->vpid);
} }
asprintf(name_string, "%s", tmp2); opal_asprintf(name_string, "%s", tmp2);
free(tmp); free(tmp);
free(tmp2); free(tmp2);
@ -643,15 +643,15 @@ int orte_util_convert_sysinfo_to_string(char **sysinfo_string,
* it is passed back to us later * it is passed back to us later
*/ */
if (NULL == cpu_type) { if (NULL == cpu_type) {
asprintf(&tmp, "%s", ORTE_SCHEMA_INVALID_STRING); opal_asprintf(&tmp, "%s", ORTE_SCHEMA_INVALID_STRING);
} else { } else {
asprintf(&tmp, "%s", cpu_type); opal_asprintf(&tmp, "%s", cpu_type);
} }
if (NULL == cpu_model) { if (NULL == cpu_model) {
asprintf(sysinfo_string, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_INVALID_STRING); opal_asprintf(sysinfo_string, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, ORTE_SCHEMA_INVALID_STRING);
} else { } else {
asprintf(sysinfo_string, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, cpu_model); opal_asprintf(sysinfo_string, "%s%c%s", tmp, ORTE_SCHEMA_DELIMITER_CHAR, cpu_model);
} }
free(tmp); free(tmp);
return ORTE_SUCCESS; return ORTE_SUCCESS;
@ -668,12 +668,10 @@ char *orte_pretty_print_timing(int64_t secs, int64_t usecs)
seconds = seconds % 60l; seconds = seconds % 60l;
if (0 == minutes && 0 == seconds) { if (0 == minutes && 0 == seconds) {
fsecs = ((float)(secs)*1000000.0 + (float)usecs) / 1000.0; fsecs = ((float)(secs)*1000000.0 + (float)usecs) / 1000.0;
asprintf(&timestring, "%8.2f millisecs", fsecs); opal_asprintf(&timestring, "%8.2f millisecs", fsecs);
} else { } else {
asprintf(&timestring, "%3lu:%02lu min:sec", minutes, seconds); opal_asprintf(&timestring, "%3lu:%02lu min:sec", minutes, seconds);
} }
return timestring; return timestring;
} }

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -40,6 +40,7 @@
#include "opal/mca/base/mca_base_var.h" #include "opal/mca/base/mca_base_var.h"
#include "opal/util/alfg.h" #include "opal/util/alfg.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "orte/constants.h" #include "orte/constants.h"
#include "orte/types.h" #include "orte/types.h"
@ -89,7 +90,7 @@ char* orte_pre_condition_transports_print(uint64_t *unique_key)
* number if the system has a different sized long (8 would be for * number if the system has a different sized long (8 would be for
* sizeof(int) == 4)). * sizeof(int) == 4)).
*/ */
asprintf(&format, "%%0%dx", (int)(sizeof(unsigned int)) * 2); opal_asprintf(&format, "%%0%dx", (int)(sizeof(unsigned int)) * 2);
/* print the first number */ /* print the first number */
int_ptr = (unsigned int*) &unique_key[0]; int_ptr = (unsigned int*) &unique_key[0];

Просмотреть файл

@ -55,6 +55,7 @@
#include "opal/util/os_dirpath.h" #include "opal/util/os_dirpath.h"
#include "opal/util/basename.h" #include "opal/util/basename.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/printf.h"
#include "orte/util/proc_info.h" #include "orte/util/proc_info.h"
#include "orte/util/name_fns.h" #include "orte/util/name_fns.h"
@ -150,7 +151,7 @@ int orte_setup_top_session_dir(void)
goto exit; goto exit;
} }
if (0 > asprintf(&orte_process_info.top_session_dir, if (0 > opal_asprintf(&orte_process_info.top_session_dir,
"%s/ompi.%s.%lu", orte_process_info.tmpdir_base, "%s/ompi.%s.%lu", orte_process_info.tmpdir_base,
orte_process_info.nodename, (unsigned long)uid)) { orte_process_info.nodename, (unsigned long)uid)) {
orte_process_info.top_session_dir = NULL; orte_process_info.top_session_dir = NULL;
@ -176,13 +177,13 @@ static int _setup_jobfam_session_dir(orte_process_name_t *proc)
} }
if (ORTE_PROC_IS_MASTER) { if (ORTE_PROC_IS_MASTER) {
if (0 > asprintf(&orte_process_info.jobfam_session_dir, if (0 > opal_asprintf(&orte_process_info.jobfam_session_dir,
"%s/dvm", orte_process_info.top_session_dir)) { "%s/dvm", orte_process_info.top_session_dir)) {
rc = ORTE_ERR_OUT_OF_RESOURCE; rc = ORTE_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
} else if (ORTE_PROC_IS_HNP) { } else if (ORTE_PROC_IS_HNP) {
if (0 > asprintf(&orte_process_info.jobfam_session_dir, if (0 > opal_asprintf(&orte_process_info.jobfam_session_dir,
"%s/pid.%lu", orte_process_info.top_session_dir, "%s/pid.%lu", orte_process_info.top_session_dir,
(unsigned long)orte_process_info.pid)) { (unsigned long)orte_process_info.pid)) {
rc = ORTE_ERR_OUT_OF_RESOURCE; rc = ORTE_ERR_OUT_OF_RESOURCE;
@ -191,13 +192,13 @@ static int _setup_jobfam_session_dir(orte_process_name_t *proc)
} else { } else {
/* we were not given one, so define it */ /* we were not given one, so define it */
if (NULL == proc || (ORTE_JOBID_INVALID == proc->jobid)) { if (NULL == proc || (ORTE_JOBID_INVALID == proc->jobid)) {
if (0 > asprintf(&orte_process_info.jobfam_session_dir, if (0 > opal_asprintf(&orte_process_info.jobfam_session_dir,
"%s/jobfam", orte_process_info.top_session_dir) ) { "%s/jobfam", orte_process_info.top_session_dir) ) {
rc = ORTE_ERR_OUT_OF_RESOURCE; rc = ORTE_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
} else { } else {
if (0 > asprintf(&orte_process_info.jobfam_session_dir, if (0 > opal_asprintf(&orte_process_info.jobfam_session_dir,
"%s/jf.%d", orte_process_info.top_session_dir, "%s/jf.%d", orte_process_info.top_session_dir,
ORTE_JOB_FAMILY(proc->jobid))) { ORTE_JOB_FAMILY(proc->jobid))) {
orte_process_info.jobfam_session_dir = NULL; orte_process_info.jobfam_session_dir = NULL;
@ -225,7 +226,7 @@ _setup_job_session_dir(orte_process_name_t *proc)
return rc; return rc;
} }
if (ORTE_JOBID_INVALID != proc->jobid) { if (ORTE_JOBID_INVALID != proc->jobid) {
if (0 > asprintf(&orte_process_info.job_session_dir, if (0 > opal_asprintf(&orte_process_info.job_session_dir,
"%s/%d", orte_process_info.jobfam_session_dir, "%s/%d", orte_process_info.jobfam_session_dir,
ORTE_LOCAL_JOBID(proc->jobid))) { ORTE_LOCAL_JOBID(proc->jobid))) {
orte_process_info.job_session_dir = NULL; orte_process_info.job_session_dir = NULL;
@ -255,7 +256,7 @@ _setup_proc_session_dir(orte_process_name_t *proc)
return rc; return rc;
} }
if (ORTE_VPID_INVALID != proc->vpid) { if (ORTE_VPID_INVALID != proc->vpid) {
if (0 > asprintf(&orte_process_info.proc_session_dir, if (0 > opal_asprintf(&orte_process_info.proc_session_dir,
"%s/%d", orte_process_info.job_session_dir, "%s/%d", orte_process_info.job_session_dir,
proc->vpid)) { proc->vpid)) {
orte_process_info.proc_session_dir = NULL; orte_process_info.proc_session_dir = NULL;

Просмотреть файл

@ -12,7 +12,7 @@
* Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2016-2017 Intel, Inc. All rights reserved. * Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved. * Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -30,6 +30,7 @@
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/printf.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/event/event.h" #include "opal/mca/event/event.h"
#include "opal/mca/pmix/pmix.h" #include "opal/mca/pmix/pmix.h"
@ -349,7 +350,7 @@ static void show_accumulated_duplicates(int fd, short event, void *context)
tli->tli_count_since_last_display > 0) { tli->tli_count_since_last_display > 0) {
static bool first = true; static bool first = true;
if (orte_xml_output) { if (orte_xml_output) {
asprintf(&tmp, "%d more process%s sent help message %s / %s", opal_asprintf(&tmp, "%d more process%s sent help message %s / %s",
tli->tli_count_since_last_display, tli->tli_count_since_last_display,
(tli->tli_count_since_last_display > 1) ? "es have" : " has", (tli->tli_count_since_last_display > 1) ? "es have" : " has",
tli->tli_filename, tli->tli_topic); tli->tli_filename, tli->tli_topic);