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
20 changes: 20 additions & 0 deletions opal/mca/pmix/pmix3x/pmix/src/buffer_ops/unpack.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,11 @@ pmix_status_t pmix_bfrop_unpack_status(pmix_buffer_t *buffer, void *dest,
}
break;
case PMIX_PROC:
/* this field is now a pointer, so we must allocate storage for it */
PMIX_PROC_CREATE(val->data.proc, 1);
if (NULL == val->data.proc) {
return PMIX_ERR_NOMEM;
}
if (PMIX_SUCCESS != (ret = pmix_bfrop_unpack_buffer(buffer, val->data.proc, &m, PMIX_PROC))) {
return ret;
}
Expand Down Expand Up @@ -666,11 +671,21 @@ pmix_status_t pmix_bfrop_unpack_status(pmix_buffer_t *buffer, void *dest,
}
break;
case PMIX_PROC_INFO:
/* this is now a pointer, so allocate storage for it */
PMIX_PROC_INFO_CREATE(val->data.pinfo, 1);
if (NULL == val->data.pinfo) {
return PMIX_ERR_NOMEM;
}
if (PMIX_SUCCESS != (ret = pmix_bfrop_unpack_buffer(buffer, val->data.pinfo, &m, PMIX_PROC_INFO))) {
return ret;
}
break;
case PMIX_DATA_ARRAY:
/* this is now a pointer, so allocate storage for it */
val->data.darray = (pmix_data_array_t*)malloc(sizeof(val->data.darray));
if (NULL == val->data.darray) {
return PMIX_ERR_NOMEM;
}
if (PMIX_SUCCESS != (ret = pmix_bfrop_unpack_buffer(buffer, val->data.darray, &m, PMIX_DATA_ARRAY))) {
return ret;
}
Expand All @@ -682,6 +697,11 @@ pmix_status_t pmix_bfrop_unpack_status(pmix_buffer_t *buffer, void *dest,
break;
/**** DEPRECATED ****/
case PMIX_INFO_ARRAY:
/* this field is now a pointer, so we must allocate storage for it */
val->data.array = (pmix_info_array_t*)malloc(sizeof(val->data.array));
if (NULL == val->data.array) {
return PMIX_ERR_NOMEM;
}
if (PMIX_SUCCESS != (ret = pmix_bfrop_unpack_buffer(buffer, val->data.array, &m, PMIX_INFO_ARRAY))) {
return ret;
}
Expand Down
4 changes: 2 additions & 2 deletions orte/test/system/orte_notify.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ static void notification_fn(int status,
{
int peer_rank;

fprintf(stderr, "orte_notify: Name %s Host: %s Pid %ld source %s\n",
fprintf(stderr, "orte_notify: Name %s Host: %s Pid %ld status %d source %s\n",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
hostname, (long)pid, ORTE_NAME_PRINT(source));
hostname, (long)pid, status, ORTE_NAME_PRINT(source));

/** let the notifier know we are done */
if (cbfunc) {
Expand Down