1
1
- Remove an old comment from crcp_base_fns.c
- Let ob1 have its very own ft_event function (which I'll fill in shortly)
- Make sure ob1 finalizes the bsend stuff so we don't leave a bunch of memory sitting around
- PML base - destruct the array upon finalize. Shrink the include search so it stops after finding a match

This commit was SVN r14222.
Этот коммит содержится в:
Josh Hursey 2007-04-05 13:52:05 +00:00
родитель 1705e370d3
Коммит 98fb9f26ef
7 изменённых файлов: 66 добавлений и 2 удалений

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

@ -548,7 +548,6 @@ int ompi_crcp_base_reboot_pml(ompi_crcp_base_pml_state_t* pml_state) {
/* Enable the PML */
opal_output_verbose(25, ompi_crcp_base_output,
"crcp:coord: reboot_pml(): PML Enable");
/* JJH RETURN HERE -- mca_bml_r2.btl_modules is corrupted. I bet it is not removed properly....*/
if( OMPI_SUCCESS != (ret = MCA_PML_CALL(enable(true)) ) ) {
error_msg = "PML control failed";
return_code = ret;

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

@ -41,6 +41,8 @@ int mca_pml_base_close(void)
mca_pml_base_selected_component.pmlm_finalize();
}
OBJ_DESTRUCT(&mca_pml_base_pml);
/* Close all remaining available modules (may be one if this is a
OMPI RTE program, or [possibly] multiple if this is ompi_info) */

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

@ -207,6 +207,8 @@ mca_pml_base_modex_finalize(void)
OBJ_RELEASE(item);
OBJ_DESTRUCT(&mca_pml_base_modex_subscriptions);
OBJ_DESTRUCT(&mca_pml_base_modex_lock);
return OMPI_SUCCESS;
}

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

@ -86,6 +86,7 @@ int mca_pml_base_select(bool enable_progress_threads,
if(0 == strncmp(component->pmlm_version.mca_component_name,
tmp_val, strlen(component->pmlm_version.mca_component_name)) ) {
found_pml = true;
break;
}
}

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

@ -56,7 +56,7 @@ mca_pml_ob1_t mca_pml_ob1 = {
mca_pml_ob1_probe,
mca_pml_ob1_start,
mca_pml_ob1_dump,
mca_pml_base_ft_event,
mca_pml_ob1_ft_event,
32768,
INT_MAX
}
@ -374,3 +374,54 @@ void mca_pml_ob1_error_handler(
int32_t flags) {
orte_errmgr.abort();
}
int mca_pml_ob1_ft_event( int state )
{
int ret;
opal_output(0, "pml:base: ft_event: Called (%d)!!\n", state);
if(OPAL_CRS_CHECKPOINT == state) {
;
}
else if(OPAL_CRS_CONTINUE == state) {
;
}
else if(OPAL_CRS_RESTART == state) {
;
}
else if(OPAL_CRS_TERM == state ) {
;
}
else {
;
}
/* Call the BML
* BML is expected to call ft_event in
* - BTL(s)
* - MPool(s)
*/
if( OMPI_SUCCESS != (ret = mca_bml.bml_ft_event(state))) {
opal_output(0, "pml:base: ft_event: BML ft_event function failed: %d\n",
ret);
}
if(OPAL_CRS_CHECKPOINT == state) {
;
}
else if(OPAL_CRS_CONTINUE == state) {
;
}
else if(OPAL_CRS_RESTART == state) {
;
}
else if(OPAL_CRS_TERM == state ) {
;
}
else {
;
}
return OMPI_SUCCESS;
}

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

@ -216,6 +216,10 @@ extern int mca_pml_ob1_start(
ompi_request_t** requests
);
extern int mca_pml_ob1_ft_event(
int state
);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif

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

@ -223,6 +223,11 @@ int mca_pml_ob1_component_close(void)
if(OMPI_SUCCESS != (rc = mca_bml_base_close()))
return rc;
/* buffered send */
if(OMPI_SUCCESS != (rc = mca_pml_base_bsend_fini())) {
return rc;
}
OBJ_DESTRUCT(&mca_pml_ob1.pckt_pending);
OBJ_DESTRUCT(&mca_pml_ob1.send_pending);
OBJ_DESTRUCT(&mca_pml_ob1.recv_pending);