Skip to content

Commit 429c7b7

Browse files
committed
Fix buffered sends for OB1 as well.
Signed-off-by: George Bosilca <[email protected]>
1 parent 3226c6c commit 429c7b7

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

ompi/mca/pml/cm/pml_cm_sendreq.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ do { \
376376
max_data = iov.iov_len = sendreq->req_count; \
377377
iov_count = 1; \
378378
opal_convertor_prepare_for_send( &sendreq->req_send.req_base.req_convertor, \
379-
sendreq->req_send.req_base.req_datatype, \
379+
&sendreq->req_send.req_base.req_datatype->super, \
380380
max_data, \
381381
sendreq->req_addr); \
382382
opal_convertor_pack( &sendreq->req_send.req_base.req_convertor, \

ompi/mca/pml/ob1/pml_ob1_start.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,16 @@ int mca_pml_ob1_start(size_t count, ompi_request_t** requests)
8484
sendreq = (mca_pml_ob1_send_request_t *) request;
8585
requests[i] = request;
8686
} else if (sendreq->req_send.req_bytes_packed != 0) {
87-
size_t offset = 0;
8887
/**
8988
* Reset the convertor in case we're dealing with the original
90-
* request, which when completed do not reset the convertor.
89+
* request, which when completed do not reset the convertor but
90+
* leaves it pointing to the buffered send location, with the
91+
* packed datatype and count.
9192
*/
92-
opal_convertor_set_position (&sendreq->req_send.req_base.req_convertor,
93-
&offset);
93+
opal_convertor_prepare_for_send(&sendreq->req_send.req_base.req_convertor,
94+
&sendreq->req_send.req_base.req_datatype->super,
95+
sendreq->req_send.req_base.req_count,
96+
sendreq->req_send.req_base.req_addr);
9497
}
9598

9699
/* reset the completion flag */

0 commit comments

Comments
 (0)