Merge pull request #7236 from mcoil1/pr/v4.0.x/several-fixes
v4.0.x/several fixes
Этот коммит содержится в:
Коммит
c0b27e4f74
@ -405,7 +405,7 @@ int ompi_dpm_connect_accept(ompi_communicator_t *comm, int root,
|
||||
}
|
||||
if (0 < opal_list_get_size(&ilist)) {
|
||||
uint32_t *peer_ranks = NULL;
|
||||
int prn, nprn;
|
||||
int prn, nprn = 0;
|
||||
char *val, *mycpuset;
|
||||
uint16_t u16;
|
||||
opal_process_name_t wildcard_rank;
|
||||
|
@ -70,7 +70,7 @@ static int nbc_alltoall_init(const void* sendbuf, int sendcount, MPI_Datatype se
|
||||
enum {NBC_A2A_LINEAR, NBC_A2A_PAIRWISE, NBC_A2A_DISS, NBC_A2A_INPLACE} alg;
|
||||
void *tmpbuf = NULL;
|
||||
ompi_coll_libnbc_module_t *libnbc_module = (ompi_coll_libnbc_module_t*) module;
|
||||
ptrdiff_t span, gap;
|
||||
ptrdiff_t span, gap = 0;
|
||||
|
||||
NBC_IN_PLACE(sendbuf, recvbuf, inplace);
|
||||
|
||||
|
@ -826,17 +826,17 @@ static void ADIOI_R_Exchange_data(ADIO_File fd, void *buf, ADIOI_Flatlist_node
|
||||
if (recv_size[i]) recv_buf[i] =
|
||||
(char *) ADIOI_Malloc(recv_size[i]);
|
||||
|
||||
j = 0;
|
||||
for (i=0; i < nprocs; i++)
|
||||
if (recv_size[i]) {
|
||||
MPI_Irecv(recv_buf[i], recv_size[i], MPI_BYTE, i,
|
||||
myrank+i+100*iter, fd->comm, requests+j);
|
||||
j++;
|
||||
j = 0;
|
||||
for (i=0; i < nprocs; i++)
|
||||
if (recv_size[i]) {
|
||||
MPI_Irecv(recv_buf[i], recv_size[i], MPI_BYTE, i,
|
||||
myrank+i+100*iter, fd->comm, requests+j);
|
||||
j++;
|
||||
#ifdef RDCOLL_DEBUG
|
||||
DBG_FPRINTF(stderr, "node %d, recv_size %d, tag %d \n",
|
||||
myrank, recv_size[i], myrank+i+100*iter);
|
||||
DBG_FPRINTF(stderr, "node %d, recv_size %d, tag %d \n",
|
||||
myrank, recv_size[i], myrank+i+100*iter);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* create derived datatypes and send data */
|
||||
|
@ -440,7 +440,7 @@ static void *_intercept_shmat(int shmid, const void *shmaddr, int shmflg)
|
||||
|
||||
if (!original_shmat) {
|
||||
#if defined(SYS_shmat)
|
||||
result = memory_patcher_syscall(SYS_shmat, shmid, shmaddr, shmflg);
|
||||
result = (void*) memory_patcher_syscall(SYS_shmat, shmid, shmaddr, shmflg);
|
||||
#else // IPCOP_shmat
|
||||
unsigned long ret;
|
||||
ret = memory_patcher_syscall(SYS_ipc, IPCOP_shmat,
|
||||
|
@ -454,11 +454,22 @@ static int do_child(orte_odls_spawn_caddy_t *cd, int write_fd)
|
||||
|
||||
/* Exec the new executable */
|
||||
execve(cd->cmd, cd->argv, cd->env);
|
||||
getcwd(dir, sizeof(dir));
|
||||
/* If we get here, an error has occurred. */
|
||||
(void) getcwd(dir, sizeof(dir));
|
||||
struct stat stats;
|
||||
char* msg;
|
||||
/* If errno is ENOENT, that indicates either cd->cmd does not exist, or
|
||||
* cd->cmd is a script, but has a bad interpreter specified. */
|
||||
if (ENOENT == errno && 0 == stat(cd->app->app, &stats)) {
|
||||
asprintf(&msg, "%s has a bad interpreter on the first line.",
|
||||
cd->app->app);
|
||||
} else {
|
||||
msg = strdup(strerror(errno));
|
||||
}
|
||||
send_error_show_help(write_fd, 1,
|
||||
"help-orte-odls-default.txt", "execve error",
|
||||
orte_process_info.nodename, dir, cd->app->app, strerror(errno));
|
||||
/* Does not return */
|
||||
orte_process_info.nodename, dir, cd->app->app, msg);
|
||||
free(msg);
|
||||
}
|
||||
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user