Sync to PMIx master
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
b4ad81da85
Коммит
3493c43468
@ -17,17 +17,17 @@ my $usempirun = 0;
|
||||
my $useaprun = 0;
|
||||
my $useaprun = 0;
|
||||
my $myapp;
|
||||
my $runall = 0;
|
||||
my $runall = 1;
|
||||
my $rawoutput = 0;
|
||||
my $myresults = "myresults";
|
||||
my $ppn = 1;
|
||||
my @csvrow;
|
||||
|
||||
my @tests = qw(/bin/true ./orte_no_op ./mpi_no_op ./mpi_no_op ./mpi_no_op);
|
||||
my @options = ("", "", "", "--fwd-mpirun-port -mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1", "--fwd-mpirun-port -mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1 -mca async_mpi_init 1 -mca async_mpi_finalize 1");
|
||||
my @starterlist = qw(mpirun orterun srun aprun);
|
||||
my @options = ("", "", "", "-mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1", "-mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1 -mca async_mpi_init 1 -mca async_mpi_finalize 1");
|
||||
my @starterlist = qw(mpirun prun srun aprun);
|
||||
my @starteroptionlist = ("--novm",
|
||||
"--hnp file:dvm_uri",
|
||||
"",
|
||||
"--distribution=cyclic -N",
|
||||
"-N");
|
||||
|
||||
@ -49,7 +49,6 @@ GetOptions(
|
||||
"aprun" => \$useaprun,
|
||||
"mpirun" => \$usempirun,
|
||||
"myapp=s" => \$myapp,
|
||||
"all" => \$runall,
|
||||
"results=s" => \$myresults,
|
||||
"rawout" => \$rawoutput,
|
||||
"ppn=s" => \$ppn,
|
||||
@ -67,8 +66,7 @@ if ($HELP) {
|
||||
--srun Use srun (if available) to execute the test
|
||||
--arpun Use aprun (if available) to execute the test
|
||||
--myapp=s In addition to the standard tests, run this specific application (including any args)
|
||||
--all Use all available start commands [default]
|
||||
--results=file File where results are to stored in comma-separated value format
|
||||
--results=file File where results are to be stored in comma-separated value format
|
||||
--rawout Provide raw timing output to the file
|
||||
--ppn=n Run n procs/node
|
||||
";
|
||||
@ -90,7 +88,13 @@ my $havedvm = 0;
|
||||
my @starters;
|
||||
my @starteroptions;
|
||||
|
||||
# if they asked for all, then set all starters to requested
|
||||
# if they explicitly requested specific starters, then
|
||||
# only use those
|
||||
if ($useaprun || $usempirun || $usesrun || $usedvm) {
|
||||
$runall = 0
|
||||
}
|
||||
|
||||
# if they didn't specify something, then set all starters to requested
|
||||
if ($runall) {
|
||||
$useaprun = 1;
|
||||
$usempirun = 1;
|
||||
@ -112,7 +116,7 @@ foreach $starter (@starterlist) {
|
||||
}
|
||||
}
|
||||
if ($exists) {
|
||||
if ($usedvm && $starter eq "orterun") {
|
||||
if ($usedvm && $starter eq "prun") {
|
||||
push @starters, $starter;
|
||||
$opt = $starteroptionlist[$idx] . " --npernode " . $ppn;
|
||||
push @starteroptions, $opt;
|
||||
@ -261,21 +265,14 @@ sub runcmd()
|
||||
foreach $starter (@starters) {
|
||||
print "STARTER: $starter\n";
|
||||
# if we are going to use the dvm, then we
|
||||
if ($starter eq "orterun") {
|
||||
if ($starter eq "prun") {
|
||||
# need to start it
|
||||
if (-e "dvm_uri") {
|
||||
system("rm -f dvm_uri");
|
||||
}
|
||||
$cmd = "orte-dvm --report-uri dvm_uri 2>&1 &";
|
||||
$cmd = "orte-dvm 2>&1 &";
|
||||
if ($myresults) {
|
||||
print FILE "\n\n$cmd\n";
|
||||
}
|
||||
if (!$SHOWME) {
|
||||
system($cmd);
|
||||
# wait for the rendezvous file to appear
|
||||
while (! -e "dvm_uri") {
|
||||
sleep(1);
|
||||
}
|
||||
$havedvm = 1;
|
||||
}
|
||||
}
|
||||
@ -321,12 +318,9 @@ foreach $starter (@starters) {
|
||||
}
|
||||
if ($havedvm) {
|
||||
if (!$SHOWME) {
|
||||
$cmd = "orterun --hnp file:dvm_uri --terminate";
|
||||
$cmd = "prun --terminate";
|
||||
system($cmd);
|
||||
}
|
||||
if (-e "dvm_uri") {
|
||||
system("rm -f dvm_uri");
|
||||
}
|
||||
}
|
||||
$index = $index + 1;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
|
||||
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved
|
||||
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -23,7 +23,7 @@
|
||||
# via AC_CONFIG_MACRO_DIR in configure.ac.
|
||||
ACLOCAL_AMFLAGS = -I ./config
|
||||
|
||||
SUBDIRS = config contrib include src
|
||||
SUBDIRS = config contrib include src etc
|
||||
|
||||
|
||||
headers =
|
||||
@ -61,4 +61,3 @@ nroff:
|
||||
|
||||
dist-hook:
|
||||
env LS_COLORS= sh "$(top_srcdir)/config/distscript.sh" "$(top_srcdir)" "$(distdir)" "$(PMIX_VERSION)" "$(PMIX_REPO_REV)"
|
||||
|
||||
|
@ -30,7 +30,7 @@ greek=
|
||||
# command, or with the date (if "git describe" fails) in the form of
|
||||
# "date<date>".
|
||||
|
||||
repo_rev=git2389189
|
||||
repo_rev=gited5be7e
|
||||
|
||||
# If tarball_version is not empty, it is used as the version string in
|
||||
# the tarball filename, regardless of all other versions listed in
|
||||
@ -44,7 +44,7 @@ tarball_version=
|
||||
|
||||
# The date when this release was created
|
||||
|
||||
date="Sep 14, 2017"
|
||||
date="Sep 22, 2017"
|
||||
|
||||
# The shared library version of each of PMIx's public libraries.
|
||||
# These versions are maintained in accordance with the "Library
|
||||
|
@ -15,6 +15,7 @@
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -54,3 +55,13 @@ touch -r "${srcdir}/VERSION" "${distdir}/VERSION"
|
||||
|
||||
echo "*** Updated VERSION file with repo rev: $repo_rev"
|
||||
echo "*** (via dist-hook / config/distscript.sh)"
|
||||
|
||||
#
|
||||
# Update pmix.spec:%{version} with the main version
|
||||
#
|
||||
PMIX_SPEC=contrib/pmix.spec
|
||||
perl -pi -e 's/^Version:.*/Version: '$PMIX_REPO_REV'/' -- "${distdir}/$PMIX_SPEC"
|
||||
touch -r "${srcdir}/$PMIX_VERSION" "${distdir}/$PMIX_VERSION"
|
||||
|
||||
echo "*** Updated $PMIX_SPEC file with repo rev: $PMIX_REPO_REV"
|
||||
echo "*** (via dist-hook / config/distscript.sh)"
|
||||
|
@ -763,6 +763,7 @@ AC_DEFUN([PMIX_SETUP_CORE],[
|
||||
AC_CONFIG_FILES(
|
||||
pmix_config_prefix[Makefile]
|
||||
pmix_config_prefix[config/Makefile]
|
||||
pmix_config_prefix[etc/Makefile]
|
||||
pmix_config_prefix[include/Makefile]
|
||||
pmix_config_prefix[src/Makefile]
|
||||
pmix_config_prefix[src/util/keyval/Makefile]
|
||||
@ -950,7 +951,7 @@ DSTORE_PTHREAD_LOCK="1"
|
||||
AC_MSG_CHECKING([if want dstore pthread-based locking])
|
||||
AC_ARG_ENABLE([dstore-pthlck],
|
||||
[AC_HELP_STRING([--disable-dstore-pthlck],
|
||||
[Disable pthread-based lockig in dstor (default: enabled)])])
|
||||
[Disable pthread-based locking in dstor (default: enabled)])])
|
||||
if test "$enable_dstore_pthlck" = "no" ; then
|
||||
AC_MSG_RESULT([no])
|
||||
DSTORE_PTHREAD_LOCK="0"
|
||||
|
@ -192,11 +192,11 @@
|
||||
|
||||
Summary: An extended/exascale implementation of PMI
|
||||
Name: %{?_name:%{_name}}%{!?_name:pmix}
|
||||
Version: $VERSION
|
||||
Version: 2.1.0
|
||||
Release: 1%{?dist}
|
||||
License: BSD
|
||||
Group: Development/Libraries
|
||||
Source: pmix-%{version}.tar.$EXTENSION
|
||||
Source0: https://github.com/pmix/pmix/releases/download/v%{version}/pmix-%{version}.tar.bz2
|
||||
Packager: %{?_packager:%{_packager}}%{!?_packager:%{_vendor}}
|
||||
Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:%{_vendor}}
|
||||
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
|
||||
@ -469,9 +469,9 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
|
||||
%{_prefix}
|
||||
%endif
|
||||
# If the sysconfdir is not under the prefix, then list it explicitly.
|
||||
#%if !%{sysconfdir_in_prefix}
|
||||
#%{_sysconfdir}/*
|
||||
#%endif
|
||||
%if !%{sysconfdir_in_prefix}
|
||||
%{_sysconfdir}/*
|
||||
%endif
|
||||
# If %{install_in_opt}, then we're instaling PMIx to
|
||||
# /opt/pmix<version>. But be sure to also explicitly mention
|
||||
# /opt/pmix so that it can be removed by RPM when everything under
|
||||
@ -497,6 +497,9 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
|
||||
#
|
||||
#############################################################################
|
||||
%changelog
|
||||
* Thu Sep 21 2017 Ralph Castain <rhc@open-mpi.org>
|
||||
- Add PMIx etc directory
|
||||
|
||||
* Tue Sep 12 2017 Ralph Castain <rhc@open-mpi.org>
|
||||
- Port to pmix
|
||||
|
||||
|
70
opal/mca/pmix/pmix2x/pmix/etc/Makefile.am
Обычный файл
70
opal/mca/pmix/pmix2x/pmix/etc/Makefile.am
Обычный файл
@ -0,0 +1,70 @@
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
pmix_config_files = pmix-mca-params.conf
|
||||
pmix_file_from_platform = no
|
||||
|
||||
EXTRA_DIST = $(pmix_config_files)
|
||||
|
||||
# Steal a little trickery from a generated Makefile to only install
|
||||
# files if they do not already exist at the target. Be sure to read
|
||||
# thread starting here
|
||||
# (http://www.open-mpi.org/community/lists/devel/2008/06/4080.php) for
|
||||
# details why the mkdir is in install-data-local.
|
||||
|
||||
install-data-local:
|
||||
$(MKDIR_P) $(DESTDIR)$(sysconfdir)
|
||||
@ p="$(pmix_config_files)"; \
|
||||
if test "$(pmix_file_from_platform)" = "yes"; then \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/pmix-mca-params.conf"; \
|
||||
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/pmix-mca-params.conf; \
|
||||
else \
|
||||
for file in $$p; do \
|
||||
if test -f $(DESTDIR)$(sysconfdir)/pmix-mca-params.conf; then \
|
||||
echo "******************************* WARNING ************************************"; \
|
||||
echo "*** Not installing new $$file over existing file in:"; \
|
||||
echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
|
||||
echo "******************************* WARNING ************************************"; \
|
||||
else \
|
||||
if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f="`echo $$file | sed -e 's|^.*/||'`"; \
|
||||
echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
|
||||
$(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
|
||||
fi; \
|
||||
done \
|
||||
fi;
|
||||
|
||||
|
||||
# Only remove if exactly the same as what in our tree
|
||||
# NOTE TO READER: Bourne shell if ... fi evaluates the body if
|
||||
# the return of the evaluted command is 0 (as opposed to non-zero
|
||||
# as used by everyone else)
|
||||
uninstall-local:
|
||||
@ p="$(pmix_config_files)"; \
|
||||
for file in $$p; do \
|
||||
if test -f "$(DESTDIR)$(sysconfdir)/$$file"; then \
|
||||
if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
|
||||
if diff "$(DESTDIR)$(sysconfdir)/$$file" "$$d$$file" > /dev/null 2>&1 ; then \
|
||||
echo "rm -f $(DESTDIR)$(sysconfdir)/$$file" ; \
|
||||
rm -f "$(DESTDIR)$(sysconfdir)/$$file" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
done
|
59
opal/mca/pmix/pmix2x/pmix/etc/pmix-mca-params.conf
Обычный файл
59
opal/mca/pmix/pmix2x/pmix/etc/pmix-mca-params.conf
Обычный файл
@ -0,0 +1,59 @@
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved
|
||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# This is the default system-wide MCA parameters defaults file.
|
||||
# Specifically, the MCA parameter "mca_param_files" defaults to a
|
||||
# value of
|
||||
# "$HOME/.pmix/mca-params.conf:$sysconf/pmix-mca-params.conf"
|
||||
# (this file is the latter of the two). So if the default value of
|
||||
# mca_param_files is not changed, this file is used to set system-wide
|
||||
# MCA parameters. This file can therefore be used to set system-wide
|
||||
# default MCA parameters for all users. Of course, users can override
|
||||
# these values if they want, but this file is an excellent location
|
||||
# for setting system-specific MCA parameters for those users who don't
|
||||
# know / care enough to investigate the proper values for them.
|
||||
|
||||
# Note that this file is only applicable where it is visible (in a
|
||||
# filesystem sense). Specifically, processes each read this file
|
||||
# during their call to PMIx_Init to determine what default values for MCA
|
||||
# parameters should be used. Launchers generally do not bundle up the values in
|
||||
# this file from the node where they are run and send them to all nodes;
|
||||
# the default value decisions are effectively distributed. Hence,
|
||||
# these values are typically only applicable on nodes that "see" this file. If
|
||||
# $sysconf is a directory on a local disk, it is likely that changes
|
||||
# to this file will need to be propagated to other nodes. If $sysconf
|
||||
# is a directory that is shared via a networked filesystem, changes to
|
||||
# this file will be visible to all nodes that share this $sysconf.
|
||||
|
||||
# The format is straightforward: one per line, mca_param_name =
|
||||
# rvalue. Quoting is ignored (so if you use quotes or escape
|
||||
# characters, they'll be included as part of the value). For example:
|
||||
|
||||
# Set debugging verbosity on the PTL framework
|
||||
# ptl_base_verbose = 10
|
||||
|
||||
# Note that the value "~/" will be expanded to the current user's home
|
||||
# directory. For example:
|
||||
|
||||
# Change component loading path
|
||||
# component_path = /usr/local/lib/pmix:~/my_pmix_components
|
||||
|
||||
# See "pinfo --param all all --level 9" for a full listing of PMIx
|
||||
# MCA parameters available and their default values.
|
@ -13,7 +13,7 @@
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
|
||||
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
@ -167,9 +167,16 @@ int main(int argc, char **argv)
|
||||
fprintf(stderr, "Client ns %s rank %d: PMIx_Get universe size failed: %d\n", myproc.nspace, myproc.rank, rc);
|
||||
goto done;
|
||||
}
|
||||
fprintf(stderr, "Client %s:%d universe size %d\n", myproc.nspace, myproc.rank, val->data.uint32);
|
||||
/* get the number of procs in our job - univ size is the total number of allocated
|
||||
* slots, not the number of procs in the job */
|
||||
if (PMIX_SUCCESS != (rc = PMIx_Get(&proc, PMIX_JOB_SIZE, NULL, 0, &val))) {
|
||||
fprintf(stderr, "Client ns %s rank %d: PMIx_Get job size failed: %d\n", myproc.nspace, myproc.rank, rc);
|
||||
goto done;
|
||||
}
|
||||
nprocs = val->data.uint32;
|
||||
PMIX_VALUE_RELEASE(val);
|
||||
fprintf(stderr, "Client %s:%d universe size %d\n", myproc.nspace, myproc.rank, nprocs);
|
||||
fprintf(stderr, "Client %s:%d num procs %d\n", myproc.nspace, myproc.rank, nprocs);
|
||||
|
||||
/* put a few values */
|
||||
if (0 > asprintf(&tmp, "%s-%d-internal", myproc.nspace, myproc.rank)) {
|
||||
|
@ -41,7 +41,6 @@ int main(int argc, char **argv)
|
||||
uint32_t nprocs;
|
||||
pmix_info_t *info;
|
||||
pmix_pdata_t *pdata;
|
||||
pmix_data_range_t range = PMIX_RANGE_LOCAL;
|
||||
|
||||
/* init us */
|
||||
if (PMIX_SUCCESS != (rc = PMIx_Init(&myproc, NULL, 0))) {
|
||||
@ -70,15 +69,14 @@ int main(int argc, char **argv)
|
||||
|
||||
/* publish something */
|
||||
if (0 == myproc.rank) {
|
||||
PMIX_INFO_CREATE(info, 3);
|
||||
PMIX_INFO_CREATE(info, 2);
|
||||
(void)strncpy(info[0].key, "FOOBAR", PMIX_MAX_KEYLEN);
|
||||
info[0].value.type = PMIX_UINT8;
|
||||
info[0].value.data.uint8 = 1;
|
||||
(void)strncpy(info[1].key, "PANDA", PMIX_MAX_KEYLEN);
|
||||
info[1].value.type = PMIX_SIZE;
|
||||
info[1].value.data.size = 123456;
|
||||
PMIX_INFO_LOAD(&info[2], PMIX_RANGE, &range, PMIX_DATA_RANGE);
|
||||
if (PMIX_SUCCESS != (rc = PMIx_Publish(info, 3))) {
|
||||
if (PMIX_SUCCESS != (rc = PMIx_Publish(info, 2))) {
|
||||
fprintf(stderr, "Client ns %s rank %d: PMIx_Publish failed: %d\n", myproc.nspace, myproc.rank, rc);
|
||||
goto done;
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ pmix_status_t hash_cache_job_info(struct pmix_nspace_t *ns,
|
||||
char **nodes=NULL, **procs=NULL;
|
||||
uint8_t *tmp;
|
||||
pmix_rank_t rank;
|
||||
pmix_status_t rc;
|
||||
pmix_status_t rc=PMIX_SUCCESS;
|
||||
size_t n, j, size, len;
|
||||
|
||||
pmix_output_verbose(2, pmix_gds_base_framework.framework_output,
|
||||
@ -584,7 +584,7 @@ static pmix_status_t register_info(pmix_peer_t *peer,
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (NULL == val->data.darray ||
|
||||
if (NULL == val || NULL == val->data.darray ||
|
||||
PMIX_INFO != val->data.darray->type ||
|
||||
0 == val->data.darray->size) {
|
||||
return PMIX_ERR_NOT_FOUND;
|
||||
@ -610,7 +610,9 @@ static pmix_status_t register_info(pmix_peer_t *peer,
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (NULL == val) {
|
||||
return PMIX_ERR_NOT_FOUND;
|
||||
}
|
||||
PMIX_CONSTRUCT(&buf, pmix_buffer_t);
|
||||
rank = rinfo->pname.rank;
|
||||
PMIX_BFROPS_PACK(rc, peer, &buf, &rank, 1, PMIX_PROC_RANK);
|
||||
|
@ -597,7 +597,7 @@ static pmix_status_t setup_listener(pmix_info_t info[], size_t ninfo,
|
||||
/* output my nspace and rank plus the URI */
|
||||
fprintf(fp, "%s\n", lt->uri);
|
||||
/* add a flag that indicates we accept v2.1 protocols */
|
||||
fprintf(fp, "%s\n", PMIX_VERSION);
|
||||
fprintf(fp, "v%s\n", PMIX_VERSION);
|
||||
fclose(fp);
|
||||
/* set the file mode */
|
||||
if (0 != chmod(mca_ptl_tcp_component.system_filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) {
|
||||
|
@ -1185,7 +1185,14 @@ static int notify_event(int status,
|
||||
n=0;
|
||||
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||
(void)strncpy(op->info[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||
pmix2x_value_load(&op->info[n].value, kv);
|
||||
/* little dicey here as we need to convert a status, if
|
||||
* provided, and it will be an int coming down to us */
|
||||
if (0 == strcmp(kv->key, OPAL_PMIX_JOB_TERM_STATUS)) {
|
||||
op->info[n].value.type = PMIX_STATUS;
|
||||
op->info[n].value.data.status = pmix2x_convert_opalrc(kv->data.integer);
|
||||
} else {
|
||||
pmix2x_value_load(&op->info[n].value, kv);
|
||||
}
|
||||
++n;
|
||||
}
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user