1
1
Этот коммит содержится в:
Ralph Castain 2015-09-23 21:00:30 -07:00
родитель a31ea2e780
Коммит 209600fe26
3 изменённых файлов: 23 добавлений и 14 удалений

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

@ -30,7 +30,7 @@ greek=a1
# 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=git4dec948 repo_rev=git0a8e0d9
# 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="Sep 21, 2015" date="Sep 23, 2015"
# 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

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

@ -809,6 +809,7 @@ static pmix_status_t recv_connect_ack(int sd)
pmix_status_t rc; pmix_status_t rc;
struct timeval tv, save; struct timeval tv, save;
pmix_socklen_t sz; pmix_socklen_t sz;
bool sockopt = true;
pmix_output_verbose(2, pmix_globals.debug_output, pmix_output_verbose(2, pmix_globals.debug_output,
"pmix: RECV CONNECT ACK FROM SERVER"); "pmix: RECV CONNECT ACK FROM SERVER");
@ -816,14 +817,20 @@ static pmix_status_t recv_connect_ack(int sd)
/* get the current timeout value so we can reset to it */ /* get the current timeout value so we can reset to it */
sz = sizeof(save); sz = sizeof(save);
if (0 != getsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, (void*)&save, &sz)) { if (0 != getsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, (void*)&save, &sz)) {
return PMIX_ERR_UNREACH; if (ENOPROTOOPT == errno) {
} sockopt = false;
} else {
/* set a timeout on the blocking recv so we don't hang */ return PMIX_ERR_UNREACH;
tv.tv_sec = 2; }
tv.tv_usec = 0; } else {
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv))) { /* set a timeout on the blocking recv so we don't hang */
return PMIX_ERR_UNREACH; tv.tv_sec = 2;
tv.tv_usec = 0;
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv))) {
pmix_output_verbose(2, pmix_globals.debug_output,
"pmix: recv_connect_ack could not setsockopt SO_RCVTIMEO");
return PMIX_ERR_UNREACH;
}
} }
/* receive the status reply */ /* receive the status reply */
@ -855,9 +862,11 @@ static pmix_status_t recv_connect_ack(int sd)
return rc; return rc;
} }
/* return the socket to normal */ if (sockopt) {
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &save, sz)) { /* return the socket to normal */
return PMIX_ERR_UNREACH; if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &save, sz)) {
return PMIX_ERR_UNREACH;
}
} }
return PMIX_SUCCESS; return PMIX_SUCCESS;

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

@ -114,7 +114,7 @@ static void scdes(pmix_shift_caddy_t *p)
} }
PMIX_CLASS_INSTANCE(pmix_shift_caddy_t, PMIX_CLASS_INSTANCE(pmix_shift_caddy_t,
pmix_object_t, pmix_object_t,
scon, NULL); scon, scdes);
#define PMIX_THREADSHIFT(r, c) \ #define PMIX_THREADSHIFT(r, c) \