1
1

Fixed leave pinned bug , need to OBJ_RETAIN on each re-insert of the memory

region into the mpool tree. 

This commit was SVN r6181.
Этот коммит содержится в:
Galen Shipman 2005-06-26 02:51:19 +00:00
родитель 8a89ce4148
Коммит 3eb817ca43

Просмотреть файл

@ -277,6 +277,7 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_src(
if(rc != OMPI_SUCCESS)
return NULL;
OBJ_RETAIN(vapi_reg);
/* ompi_list_append(&ib_bmi->reg_mru_list, (ompi_list_item_t*) vapi_reg); */
}
@ -295,6 +296,7 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_src(
frag->base.des_flags = 0;
frag->vapi_reg = vapi_reg;
OBJ_RETAIN(vapi_reg);
return &frag->base;
} else if((mca_bmi_ib_component.leave_pinned || max_data > bmi->bmi_max_send_size) &&
@ -466,8 +468,10 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_dst(
ib_bmi->ib_pool,
(void*) (&ib_bmi->super),
(mca_mpool_base_registration_t*) vapi_reg);
if(rc != OMPI_SUCCESS)
return NULL;
OBJ_RETAIN(vapi_reg);
}
} else {
@ -484,10 +488,12 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_dst(
(mca_mpool_base_registration_t*) vapi_reg);
if(rc != OMPI_SUCCESS)
return NULL;
OBJ_RETAIN(vapi_reg);
}
}
frag->mem_hndl = vapi_reg->hndl;
frag->sg_entry.len = *size;