1
1

Merge pull request #7236 from mcoil1/pr/v4.0.x/several-fixes

v4.0.x/several fixes
Этот коммит содержится в:
Howard Pritchard 2019-12-17 09:19:59 -07:00 коммит произвёл GitHub
родитель af04a9d469 07a54b7025
Коммит c0b27e4f74
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
5 изменённых файлов: 26 добавлений и 15 удалений

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

@ -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);
}