Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions opal/mca/pmix/pmix1xx/pmix/VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ greek=a1
# command, or with the date (if "git describe" fails) in the form of
# "date<date>".

repo_rev=git4dec948
repo_rev=git0a8e0d9

# If tarball_version is not empty, it is used as the version string in
# the tarball filename, regardless of all other versions listed in
Expand All @@ -44,7 +44,7 @@ tarball_version=

# 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.
# These versions are maintained in accordance with the "Library
Expand Down
31 changes: 20 additions & 11 deletions opal/mca/pmix/pmix1xx/pmix/src/client/pmix_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -809,21 +809,28 @@ static pmix_status_t recv_connect_ack(int sd)
pmix_status_t rc;
struct timeval tv, save;
pmix_socklen_t sz;
bool sockopt = true;

pmix_output_verbose(2, pmix_globals.debug_output,
"pmix: RECV CONNECT ACK FROM SERVER");

/* get the current timeout value so we can reset to it */
sz = sizeof(save);
if (0 != getsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, (void*)&save, &sz)) {
return PMIX_ERR_UNREACH;
}

/* set a timeout on the blocking recv so we don't hang */
tv.tv_sec = 2;
tv.tv_usec = 0;
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv))) {
return PMIX_ERR_UNREACH;
if (ENOPROTOOPT == errno) {
sockopt = false;
} else {
return PMIX_ERR_UNREACH;
}
} else {
/* set a timeout on the blocking recv so we don't hang */
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 */
Expand Down Expand Up @@ -855,9 +862,11 @@ static pmix_status_t recv_connect_ack(int sd)
return rc;
}

/* return the socket to normal */
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &save, sz)) {
return PMIX_ERR_UNREACH;
if (sockopt) {
/* return the socket to normal */
if (0 != setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &save, sz)) {
return PMIX_ERR_UNREACH;
}
}

return PMIX_SUCCESS;
Expand Down
2 changes: 1 addition & 1 deletion opal/mca/pmix/pmix1xx/pmix/src/server/pmix_server.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ static void scdes(pmix_shift_caddy_t *p)
}
PMIX_CLASS_INSTANCE(pmix_shift_caddy_t,
pmix_object_t,
scon, NULL);
scon, scdes);


#define PMIX_THREADSHIFT(r, c) \
Expand Down