From 044868df45f3040e2ff6703414555dcb3bdc5068 Mon Sep 17 00:00:00 2001 From: George Bosilca Date: Tue, 20 Jun 2006 14:11:09 +0000 Subject: [PATCH] Set the destination descriptor before calling the recv registration. Once this call is completed, we have to remove it in order to be able to cleanup correctly the fragments. This commit was SVN r10428. --- ompi/mca/btl/self/btl_self.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ompi/mca/btl/self/btl_self.c b/ompi/mca/btl/self/btl_self.c index 6ec6e5346a..51e81bf22e 100644 --- a/ompi/mca/btl/self/btl_self.c +++ b/ompi/mca/btl/self/btl_self.c @@ -303,8 +303,16 @@ int mca_btl_self_send( struct mca_btl_base_descriptor_t* des, mca_btl_base_tag_t tag) { + /** + * We have to set the dst before the call to the function and reset them + * after. + */ + des->des_dst = des->des_src; + des->des_dst_cnt = des->des_src_cnt; /* upcall */ mca_btl_self_component.self_reg[tag].cbfunc(btl,tag,des,OMPI_SUCCESS); + des->des_dst = NULL; + des->des_dst_cnt = 0; /* send completion */ des->des_cbfunc(btl,endpoint,des,OMPI_SUCCESS); return OMPI_SUCCESS;