From 1010fd3690b57a9c1f117c3e8c55a3d647fef1f0 Mon Sep 17 00:00:00 2001 From: George Bosilca Date: Fri, 15 Apr 2005 15:21:54 +0000 Subject: [PATCH] For contifuous datatype the true_lb should be taken in account in order to receive the data in the correct memory location. This commit was SVN r5381. --- src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h b/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h index d6d674d671..1f475b3449 100644 --- a/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h +++ b/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h @@ -113,8 +113,11 @@ static inline void mca_ptl_tcp_recv_frag_matched( frag->frag_recv.frag_is_buffered = true; /* determine offset into users buffer */ } else { + long true_lb, true_extent; + + ompi_ddt_get_true_extent( request->req_base.req_datatype, &true_lb, &true_extent ); frag->frag_recv.frag_base.frag_addr = ((unsigned char*)request->req_base.req_addr) + - frag_offset; + frag_offset + true_lb; } frag->frag_size = frag_length; if(frag_offset + frag_length > request->req_bytes_packed) {