reset receive request convertor for persistent requests
We can always call unpack.. This commit was SVN r10677.
Этот коммит содержится в:
родитель
ef8c6a249b
Коммит
2217fd4003
@ -98,10 +98,10 @@ ompi_mtl_datatype_unpack(struct ompi_convertor_t *convertor,
|
||||
max_data = iov.iov_len;
|
||||
|
||||
|
||||
ompi_convertor_unpack(convertor, &iov, &iov_count,
|
||||
&max_data, &free_after);
|
||||
|
||||
if (max_data > 0 && ompi_convertor_need_buffers(convertor)) {
|
||||
ompi_convertor_unpack(convertor, &iov, &iov_count,
|
||||
&max_data, &free_after);
|
||||
free(buffer);
|
||||
}
|
||||
|
||||
|
@ -137,6 +137,11 @@ do { \
|
||||
MCA_PML_CM_RECV_REQUEST_RETURN( recvreq ); \
|
||||
} else { \
|
||||
/* initialize request status */ \
|
||||
if(recvreq->req_recv.req_base.req_ompi.req_persistent) { \
|
||||
/* rewind convertor */ \
|
||||
size_t offset = 0; \
|
||||
ompi_convertor_set_position(&recvreq->req_recv.req_convertor, &offset); \
|
||||
} \
|
||||
recvreq->req_recv.req_base.req_pml_complete = true; \
|
||||
MCA_PML_CM_RECV_REQUEST_MPI_COMPLETE( recvreq ); \
|
||||
} \
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user