1
1

Merge pull request #4836 from rhc54/topic/pmix

Sync to PMIx master
Этот коммит содержится в:
Ralph Castain 2018-02-19 10:24:52 -08:00 коммит произвёл GitHub
родитель 271fc6a320 60e6440603
Коммит 7d0e02345b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 88 добавлений и 54 удалений

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

@ -30,7 +30,7 @@ greek=
# command, or with the date (if "git describe" fails) in the form of # command, or with the date (if "git describe" fails) in the form of
# "date<date>". # "date<date>".
repo_rev=gitefa7fe7 repo_rev=gitf47bda5
# If tarball_version is not empty, it is used as the version string in # If tarball_version is not empty, it is used as the version string in
# the tarball filename, regardless of all other versions listed in # the tarball filename, regardless of all other versions listed in
@ -44,7 +44,7 @@ tarball_version=
# The date when this release was created # The date when this release was created
date="Feb 07, 2018" date="Feb 19, 2018"
# The shared library version of each of PMIx's public libraries. # The shared library version of each of PMIx's public libraries.
# These versions are maintained in accordance with the "Library # These versions are maintained in accordance with the "Library

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

@ -12,7 +12,7 @@
# All rights reserved. # All rights reserved.
# Copyright (c) 2012-2015 Cisco Systems, Inc. All rights reserved. # Copyright (c) 2012-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014 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$
@ -36,9 +36,14 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_HEADER], [
# of header includes without killing off the cache variable and trying # of header includes without killing off the cache variable and trying
# again... # again...
unset pmix_Header unset pmix_Header
pmix_check_package_header_happy="no" pmix_check_package_header_happy="no"
AS_IF([test "$3" = "/usr" || test "$3" = "/usr/local"],
# get rid of the trailing slash(es)
hdir_prefix=$(echo $3 | sed -e 'sX/*$XXg')
AS_IF([test "$hdir_prefix" = "" || \
test "$hdir_prefix" = "/usr" || \
test "$hdir_prefix" = "/usr/local"],
[ # try as is... [ # try as is...
AC_VERBOSE([looking for header without includes]) AC_VERBOSE([looking for header without includes])
AC_CHECK_HEADERS([$2], [pmix_check_package_header_happy="yes"], []) AC_CHECK_HEADERS([$2], [pmix_check_package_header_happy="yes"], [])
@ -47,12 +52,21 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_HEADER], [
unset pmix_Header])]) unset pmix_Header])])
AS_IF([test "$pmix_check_package_header_happy" = "no"], AS_IF([test "$pmix_check_package_header_happy" = "no"],
[AS_IF([test "$3" != ""], [AS_IF([test "$hdir_prefix" != ""],
[$1_CPPFLAGS="$$1_CPPFLAGS -I$3/include" [$1_CPPFLAGS="$$1_CPPFLAGS -I$hdir_prefix"
CPPFLAGS="$CPPFLAGS -I$3/include"]) CPPFLAGS="$CPPFLAGS -I$hdir_prefix"
AC_VERBOSE([looking for header in $hdir_prefix])
AC_CHECK_HEADERS([$2], [pmix_check_package_header_happy="yes"], [], [$6]) AC_CHECK_HEADERS([$2], [pmix_check_package_header_happy="yes"], [], [$6])
AS_IF([test "$pmix_check_package_header_happy" = "yes"], [$4], [$5])], AS_IF([test "$pmix_check_package_header_happy" = "no"],
[$4]) [unset pmix_Header
$1_CPPFLAGS="$$1_CPPFLAGS -I$hdir_prefix/include"
CPPFLAGS="$CPPFLAGS -I$hdir_prefix/include"
AC_VERBOSE([looking for header in $hdir_prefix/include])
AC_CHECK_HEADERS([$2], [pmix_check_package_header_happy="yes"], [], [$6])])])])
AS_IF([test "$pmix_check_package_header_happy" = "yes"],
[$4], [$5])
unset pmix_check_package_header_happy unset pmix_check_package_header_happy
AS_VAR_POPDEF([pmix_Header])dnl AS_VAR_POPDEF([pmix_Header])dnl
@ -74,10 +88,14 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_LIB], [
# see comment above # see comment above
unset pmix_Lib unset pmix_Lib
pmix_check_package_lib_happy="no" pmix_check_package_lib_happy="no"
AS_IF([test "$6" != ""],
# get rid of the trailing slash(es)
libdir_prefix=$(echo $6 | sed -e 'sX/*$XXg')
AS_IF([test "$libdir_prefix" != ""],
[# libdir was specified - search only there [# libdir was specified - search only there
$1_LDFLAGS="$$1_LDFLAGS -L$6" $1_LDFLAGS="$$1_LDFLAGS -L$libdir_prefix"
LDFLAGS="$LDFLAGS -L$6" LDFLAGS="$LDFLAGS -L$libdir_prefix"
AC_SEARCH_LIBS([$3], [$2], AC_SEARCH_LIBS([$3], [$2],
[pmix_check_package_lib_happy="yes"], [pmix_check_package_lib_happy="yes"],
[pmix_check_package_lib_happy="no"], [$4]) [pmix_check_package_lib_happy="no"], [$4])
@ -86,9 +104,12 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_LIB], [
$1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS" $1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS"
unset pmix_Lib])], unset pmix_Lib])],
[ # libdir was not specified - go through search path [ # libdir was not specified - go through search path
pmix_check_package_libdir="$5" # get rid of the trailing slash(es)
AS_IF([test "$pmix_check_package_libdir" = "" || test "$pmix_check_package_libdir" = "/usr" || test "$pmix_check_package_libdir" = "/usr/local"], libdir_prefix=$(echo $5 | sed -e 'sX/*$XXg')
[ # try as is...
# first try standard locations as otherwise our
# searches with libdir_prefix locations might come
# back positive and unnecessarily add an LDFLAG
AC_VERBOSE([looking for library without search path]) AC_VERBOSE([looking for library without search path])
AC_SEARCH_LIBS([$3], [$2], AC_SEARCH_LIBS([$3], [$2],
[pmix_check_package_lib_happy="yes"], [pmix_check_package_lib_happy="yes"],
@ -97,13 +118,16 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_LIB], [
[ # no go on the as is.. see what happens later... [ # no go on the as is.. see what happens later...
LDFLAGS="$pmix_check_package_$1_save_LDFLAGS" LDFLAGS="$pmix_check_package_$1_save_LDFLAGS"
$1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS" $1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS"
unset pmix_Lib])]) unset pmix_Lib])
AS_IF([test "$pmix_check_package_lib_happy" = "no"], AS_IF([test "$pmix_check_package_lib_happy" = "no"],
[AS_IF([test "$pmix_check_package_libdir" != ""], # if we didn't find it, check the libdir_prefix/lib64 directory
[$1_LDFLAGS="$$1_LDFLAGS -L$pmix_check_package_libdir/lib" [AS_IF([test "$libdir_prefix" != "" && \
LDFLAGS="$LDFLAGS -L$pmix_check_package_libdir/lib" test "$libdir_prefix" != "/usr" && \
AC_VERBOSE([looking for library in lib]) test "$libdir_prefix" != "/usr/local"],
[$1_LDFLAGS="$$1_LDFLAGS -L$libdir_prefix/lib64"
LDFLAGS="$LDFLAGS -L$libdir_prefix/lib64"
AC_VERBOSE([looking for library in $libdir_prefix/lib64])
AC_SEARCH_LIBS([$3], [$2], AC_SEARCH_LIBS([$3], [$2],
[pmix_check_package_lib_happy="yes"], [pmix_check_package_lib_happy="yes"],
[pmix_check_package_lib_happy="no"], [$4]) [pmix_check_package_lib_happy="no"], [$4])
@ -114,10 +138,13 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_LIB], [
unset pmix_Lib])])]) unset pmix_Lib])])])
AS_IF([test "$pmix_check_package_lib_happy" = "no"], AS_IF([test "$pmix_check_package_lib_happy" = "no"],
[AS_IF([test "$pmix_check_package_libdir" != ""], # if we still haven't found it, check the libdir_prefix/lib directory
[$1_LDFLAGS="$$1_LDFLAGS -L$pmix_check_package_libdir/lib64" [AS_IF([test "$libdir_prefix" != "" && \
LDFLAGS="$LDFLAGS -L$pmix_check_package_libdir/lib64" test "$libdir_prefix" != "/usr" && \
AC_VERBOSE([looking for library in lib64]) test "$libdir_prefix" != "/usr/local"],
[$1_LDFLAGS="$$1_LDFLAGS -L$libdir_prefix/lib"
LDFLAGS="$LDFLAGS -L$libdir_prefix/lib"
AC_VERBOSE([looking for library in $libdir_prefix/lib])
AC_SEARCH_LIBS([$3], [$2], AC_SEARCH_LIBS([$3], [$2],
[pmix_check_package_lib_happy="yes"], [pmix_check_package_lib_happy="yes"],
[pmix_check_package_lib_happy="no"], [$4]) [pmix_check_package_lib_happy="no"], [$4])
@ -125,7 +152,9 @@ AC_DEFUN([_PMIX_CHECK_PACKAGE_LIB], [
[ # no go on the as is.. see what happens later... [ # no go on the as is.. see what happens later...
LDFLAGS="$pmix_check_package_$1_save_LDFLAGS" LDFLAGS="$pmix_check_package_$1_save_LDFLAGS"
$1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS" $1_LDFLAGS="$pmix_check_package_$1_orig_LDFLAGS"
unset pmix_Lib])])])]) unset pmix_Lib])])])
])
AS_IF([test "$pmix_check_package_lib_happy" = "yes"], AS_IF([test "$pmix_check_package_lib_happy" = "yes"],
[$1_LIBS="-l$2 $4" [$1_LIBS="-l$2 $4"

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

@ -2,7 +2,7 @@
# #
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved. # Copyright (c) 2009-2015 Cisco Systems, 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) 2013-2017 Intel, Inc. All rights reserved. # Copyright (c) 2013-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$
@ -65,18 +65,22 @@ AC_DEFUN([_PMIX_LIBEVENT_EXTERNAL],[
[AC_HELP_STRING([--with-libevent-libdir=DIR], [AC_HELP_STRING([--with-libevent-libdir=DIR],
[Search for libevent libraries in DIR ])]) [Search for libevent libraries in DIR ])])
# get rid of the trailing slash(es)
libevent_prefix=$(echo $with_libevent | sed -e 'sX/*$XXg')
libeventdir_prefix=$(echo $with_libevent_libdir | sed -e 'sX/*$XXg')
AC_MSG_CHECKING([for libevent in]) AC_MSG_CHECKING([for libevent in])
if test ! -z "$with_libevent" && test "$with_libevent" != "yes"; then if test ! -z "$libevent_prefix" && test "$libevent_prefix" != "yes"; then
pmix_event_defaults=no pmix_event_defaults=no
pmix_event_dir=$with_libevent pmix_event_dir=$libevent_prefix
if test -d $with_libevent/lib; then if test -d $libevent_prefix/lib; then
pmix_event_libdir=$with_libevent/lib pmix_event_libdir=$libevent_prefix/lib
elif test -d $with_libevent/lib64; then elif test -d $libevent_prefix/lib64; then
pmix_event_libdir=$with_libevent/lib64 pmix_event_libdir=$libevent_prefix/lib64
elif test -d $with_libevent; then elif test -d $libevent_prefix; then
pmix_event_libdir=$with_libevent pmix_event_libdir=$libevent_prefix
else else
AC_MSG_RESULT([Could not find $with_libevent/lib, $with_libevent/lib64, or $with_libevent]) AC_MSG_RESULT([Could not find $libevent_prefix/lib, $libevent_prefix/lib64, or $libevent_prefix])
AC_MSG_ERROR([Can not continue]) AC_MSG_ERROR([Can not continue])
fi fi
AC_MSG_RESULT([$pmix_event_dir and $pmix_event_libdir]) AC_MSG_RESULT([$pmix_event_dir and $pmix_event_libdir])
@ -90,13 +94,13 @@ AC_DEFUN([_PMIX_LIBEVENT_EXTERNAL],[
else else
AC_MSG_RESULT([not found]) AC_MSG_RESULT([not found])
AC_MSG_WARN([Could not find /usr/lib or /usr/lib64 - you may]) AC_MSG_WARN([Could not find /usr/lib or /usr/lib64 - you may])
AC_MSG_WARN([to specify --with-libevent-libdir=<path>]) AC_MSG_WARN([need to specify --with-libevent-libdir=<path>])
AC_MSG_ERROR([Can not continue]) AC_MSG_ERROR([Can not continue])
fi fi
AC_MSG_RESULT([(default search paths)]) AC_MSG_RESULT([(default search paths)])
fi fi
AS_IF([test ! -z "$with_libevent_libdir" && "$with_libevent_libdir" != "yes"], AS_IF([test ! -z "$libeventdir_prefix" && "$libeventdir_prefix" != "yes"],
[pmix_event_libdir="$with_libevent_libdir"]) [pmix_event_libdir="$libeventdir_prefix"])
PMIX_CHECK_PACKAGE([pmix_libevent], PMIX_CHECK_PACKAGE([pmix_libevent],
[event.h], [event.h],

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

@ -699,7 +699,7 @@ static pmix_status_t resolve_nodes(const char *nspace,
pmix_proc_t proc; pmix_proc_t proc;
cb = PMIX_NEW(pmix_cb_t); cb = PMIX_NEW(pmix_cb_t);
cb->pname.nspace = (char*)nspace; cb->pname.nspace = strdup(nspace);
PMIX_THREADSHIFT(cb, _resolve_nodes); PMIX_THREADSHIFT(cb, _resolve_nodes);

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

@ -129,8 +129,7 @@ void pmix_ptl_base_lost_connection(pmix_peer_t *peer, pmix_status_t err)
} }
/* reduce the number of local procs */ /* reduce the number of local procs */
--peer->nptr->nlocalprocs; --peer->nptr->nlocalprocs;
/* now decrease the refcount - might actually free the object */
PMIX_RELEASE(peer->info);
/* remove this client from our array */ /* remove this client from our array */
pmix_pointer_array_set_item(&pmix_server_globals.clients, pmix_pointer_array_set_item(&pmix_server_globals.clients,
peer->index, NULL); peer->index, NULL);
@ -155,6 +154,10 @@ void pmix_ptl_base_lost_connection(pmix_peer_t *peer, pmix_status_t err)
* an event. If not, then we do */ * an event. If not, then we do */
PMIX_REPORT_EVENT(err, peer, PMIX_RANGE_NAMESPACE, _notify_complete); PMIX_REPORT_EVENT(err, peer, PMIX_RANGE_NAMESPACE, _notify_complete);
} }
/* now decrease the refcount - might actually free the object */
PMIX_RELEASE(peer->info);
/* Release peer info */
PMIX_RELEASE(peer); PMIX_RELEASE(peer);
} else { } else {
/* if I am a client, there is only /* if I am a client, there is only

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

@ -1328,7 +1328,6 @@ static void _setup_app(int sd, short args, void *cbdata)
PMIX_LIST_FOREACH(kv, &ilist, pmix_kval_t) { PMIX_LIST_FOREACH(kv, &ilist, pmix_kval_t) {
PMIX_BFROPS_PACK(rc, pmix_globals.mypeer, &buffer, kv, 1, PMIX_KVAL); PMIX_BFROPS_PACK(rc, pmix_globals.mypeer, &buffer, kv, 1, PMIX_KVAL);
if (PMIX_SUCCESS != rc) { if (PMIX_SUCCESS != rc) {
PMIX_DESTRUCT(&blob);
PMIX_RELEASE(fcd); PMIX_RELEASE(fcd);
fcd = NULL; fcd = NULL;
goto depart; goto depart;
@ -1336,7 +1335,6 @@ static void _setup_app(int sd, short args, void *cbdata)
} }
PMIX_INFO_CREATE(fcd->info, 1); PMIX_INFO_CREATE(fcd->info, 1);
if (NULL == fcd->info) { if (NULL == fcd->info) {
PMIX_DESTRUCT(&blob);
PMIX_RELEASE(fcd); PMIX_RELEASE(fcd);
fcd = NULL; fcd = NULL;
goto depart; goto depart;