cleanup close/finalize
This commit was SVN r2013.
Этот коммит содержится в:
родитель
1005359360
Коммит
debf4842eb
@ -16,26 +16,19 @@
|
|||||||
int mca_oob_base_close(void)
|
int mca_oob_base_close(void)
|
||||||
{
|
{
|
||||||
ompi_list_item_t* item;
|
ompi_list_item_t* item;
|
||||||
/* Finalize all the ptl components and free their list items */
|
|
||||||
|
|
||||||
for (item = ompi_list_remove_first(&mca_oob_base_components);
|
/* Finalize all the oob modules and free their list items */
|
||||||
NULL != item;
|
for (item = ompi_list_remove_first(&mca_oob_base_modules);
|
||||||
item = ompi_list_remove_first(&mca_oob_base_components)) {
|
item != NULL;
|
||||||
mca_base_component_list_item_t* component = (mca_base_component_list_item_t *) item;
|
item = ompi_list_remove_first(&mca_oob_base_modules)) {
|
||||||
|
mca_oob_base_info_t* base = (mca_oob_base_info_t *) item;
|
||||||
/* Blatently ignore the return code (what would we do to recover,
|
base->oob_module->oob_finalize(base->oob_module);
|
||||||
anyway? This component is going away, so errors don't matter
|
|
||||||
anymore) */
|
|
||||||
|
|
||||||
((mca_oob_base_component_t*)component->cli_component)->oob_finalize();
|
|
||||||
free(component);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Close all remaining available modules (may be one if this is a
|
/* Close all remaining available modules (may be one if this is a
|
||||||
OMPI RTE program, or [possibly] multiple if this is ompi_info) */
|
OMPI RTE program, or [possibly] multiple if this is ompi_info) */
|
||||||
|
|
||||||
mca_base_components_close(mca_oob_base_output, &mca_oob_base_components,
|
mca_base_components_close(mca_oob_base_output, &mca_oob_base_components, NULL);
|
||||||
NULL);
|
|
||||||
|
|
||||||
OBJ_DESTRUCT(&mca_oob_base_modules);
|
OBJ_DESTRUCT(&mca_oob_base_modules);
|
||||||
OBJ_DESTRUCT(&mca_oob_base_components);
|
OBJ_DESTRUCT(&mca_oob_base_components);
|
||||||
|
@ -22,7 +22,7 @@ int mca_oob_cofs_close(void);
|
|||||||
* Startup / Shutdown
|
* Startup / Shutdown
|
||||||
*/
|
*/
|
||||||
mca_oob_t* mca_oob_cofs_init(bool *allow_multi_user_threads, bool *have_hidden_threads);
|
mca_oob_t* mca_oob_cofs_init(bool *allow_multi_user_threads, bool *have_hidden_threads);
|
||||||
int mca_oob_cofs_finalize(void);
|
int mca_oob_cofs_finalize(mca_oob_t*);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,15 +37,15 @@ mca_oob_base_component_1_0_0_t mca_oob_cofs_component = {
|
|||||||
{
|
{
|
||||||
false /* checkpoint / restart */
|
false /* checkpoint / restart */
|
||||||
},
|
},
|
||||||
mca_oob_cofs_init, /* module init */
|
mca_oob_cofs_init /* module init */
|
||||||
mca_oob_cofs_finalize
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mca_oob_t mca_oob_cofs = {
|
mca_oob_t mca_oob_cofs = {
|
||||||
mca_oob_cofs_send,
|
mca_oob_cofs_send,
|
||||||
mca_oob_cofs_recv,
|
mca_oob_cofs_recv,
|
||||||
mca_oob_cofs_send_nb,
|
mca_oob_cofs_send_nb,
|
||||||
mca_oob_cofs_recv_nb
|
mca_oob_cofs_recv_nb,
|
||||||
|
mca_oob_cofs_finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
char mca_oob_cofs_comm_loc[OMPI_PATH_MAX];
|
char mca_oob_cofs_comm_loc[OMPI_PATH_MAX];
|
||||||
@ -90,7 +90,7 @@ mca_oob_t* mca_oob_cofs_init(bool *allow_multi_user_threads, bool *have_hidden_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int mca_oob_cofs_finalize(void)
|
int mca_oob_cofs_finalize(mca_oob_t* oob)
|
||||||
{
|
{
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,19 @@
|
|||||||
#include "include/types.h"
|
#include "include/types.h"
|
||||||
#include "mca/mca.h"
|
#include "mca/mca.h"
|
||||||
#include "mca/oob/base/base.h"
|
#include "mca/oob/base/base.h"
|
||||||
|
|
||||||
|
struct mca_oob_1_0_0_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenience Typedef
|
||||||
|
*/
|
||||||
|
typedef struct mca_oob_1_0_0_t mca_oob_1_0_0_t;
|
||||||
|
/**
|
||||||
|
* Convenience typedef
|
||||||
|
*/
|
||||||
|
typedef struct mca_oob_1_0_0_t mca_oob_t;
|
||||||
|
|
||||||
|
|
||||||
/********
|
/********
|
||||||
* NOTE: these are functions and prototypes for the use of the modules
|
* NOTE: these are functions and prototypes for the use of the modules
|
||||||
* and components.
|
* and components.
|
||||||
@ -108,6 +121,11 @@ typedef int (*mca_oob_base_module_recv_nb_fn_t)(
|
|||||||
mca_oob_callback_fn_t cbfunc,
|
mca_oob_callback_fn_t cbfunc,
|
||||||
void* cbdata);
|
void* cbdata);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OOB finalize function
|
||||||
|
*/
|
||||||
|
typedef int (*mca_oob_base_module_finalize_fn_t)(mca_oob_t*);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OOB Module
|
* OOB Module
|
||||||
*/
|
*/
|
||||||
@ -116,16 +134,8 @@ struct mca_oob_1_0_0_t {
|
|||||||
mca_oob_base_module_recv_fn_t oob_recv;
|
mca_oob_base_module_recv_fn_t oob_recv;
|
||||||
mca_oob_base_module_send_nb_fn_t oob_send_nb;
|
mca_oob_base_module_send_nb_fn_t oob_send_nb;
|
||||||
mca_oob_base_module_recv_nb_fn_t oob_recv_nb;
|
mca_oob_base_module_recv_nb_fn_t oob_recv_nb;
|
||||||
|
mca_oob_base_module_finalize_fn_t oob_finalize;
|
||||||
};
|
};
|
||||||
/**
|
|
||||||
* Convenience Typedef
|
|
||||||
*/
|
|
||||||
typedef struct mca_oob_1_0_0_t mca_oob_1_0_0_t;
|
|
||||||
/**
|
|
||||||
* Convenience typedef
|
|
||||||
*/
|
|
||||||
typedef struct mca_oob_1_0_0_t mca_oob_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OOB Component
|
* OOB Component
|
||||||
*/
|
*/
|
||||||
@ -133,21 +143,15 @@ typedef mca_oob_t* (*mca_oob_base_component_init_fn_t)(
|
|||||||
bool *allow_multi_user_threads,
|
bool *allow_multi_user_threads,
|
||||||
bool *have_hidden_threads);
|
bool *have_hidden_threads);
|
||||||
|
|
||||||
/**
|
|
||||||
* OOB finalize function
|
|
||||||
*/
|
|
||||||
typedef int (*mca_oob_base_component_finalize_fn_t)(void);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the standard component data structure
|
* the standard component data structure
|
||||||
*/
|
*/
|
||||||
struct mca_oob_base_component_1_0_0_t {
|
struct mca_oob_base_component_1_0_0_t {
|
||||||
mca_base_component_t oob_version;
|
mca_base_component_t oob_version;
|
||||||
mca_base_component_data_1_0_0_t oob_data;
|
mca_base_component_data_1_0_0_t oob_data;
|
||||||
|
|
||||||
mca_oob_base_component_init_fn_t oob_init;
|
mca_oob_base_component_init_fn_t oob_init;
|
||||||
mca_oob_base_component_finalize_fn_t oob_finalize;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience Typedef
|
* Convenience Typedef
|
||||||
*/
|
*/
|
||||||
|
@ -33,8 +33,7 @@ mca_oob_tcp_component_t mca_oob_tcp_component = {
|
|||||||
{
|
{
|
||||||
false /* checkpoint / restart */
|
false /* checkpoint / restart */
|
||||||
},
|
},
|
||||||
mca_oob_tcp_init, /* module init */
|
mca_oob_tcp_init /* module init */
|
||||||
mca_oob_tcp_finalize
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -42,7 +41,8 @@ static mca_oob_t mca_oob_tcp = {
|
|||||||
mca_oob_tcp_send,
|
mca_oob_tcp_send,
|
||||||
mca_oob_tcp_recv,
|
mca_oob_tcp_recv,
|
||||||
mca_oob_tcp_send_nb,
|
mca_oob_tcp_send_nb,
|
||||||
mca_oob_tcp_recv_nb
|
mca_oob_tcp_recv_nb,
|
||||||
|
mca_oob_tcp_finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -279,7 +279,7 @@ mca_oob_t* mca_oob_tcp_init(bool *allow_multi_user_threads, bool *have_hidden_th
|
|||||||
8, /* increment to grow by */
|
8, /* increment to grow by */
|
||||||
NULL); /* use default allocator */
|
NULL); /* use default allocator */
|
||||||
|
|
||||||
#if 0
|
#if 1
|
||||||
/* intialize event library */
|
/* intialize event library */
|
||||||
memset(&mca_oob_tcp_component.tcp_recv_event, 0, sizeof(ompi_event_t));
|
memset(&mca_oob_tcp_component.tcp_recv_event, 0, sizeof(ompi_event_t));
|
||||||
memset(&mca_oob_tcp_component.tcp_send_event, 0, sizeof(ompi_event_t));
|
memset(&mca_oob_tcp_component.tcp_send_event, 0, sizeof(ompi_event_t));
|
||||||
@ -303,7 +303,7 @@ mca_oob_t* mca_oob_tcp_init(bool *allow_multi_user_threads, bool *have_hidden_th
|
|||||||
/*
|
/*
|
||||||
* Module cleanup.
|
* Module cleanup.
|
||||||
*/
|
*/
|
||||||
int mca_oob_tcp_finalize(void)
|
int mca_oob_tcp_finalize(mca_oob_t* oob)
|
||||||
{
|
{
|
||||||
int optval;
|
int optval;
|
||||||
mca_oob_tcp_peer_t * peer;
|
mca_oob_tcp_peer_t * peer;
|
||||||
|
@ -31,7 +31,7 @@ extern "C" {
|
|||||||
int mca_oob_tcp_open(void);
|
int mca_oob_tcp_open(void);
|
||||||
int mca_oob_tcp_close(void);
|
int mca_oob_tcp_close(void);
|
||||||
mca_oob_t* mca_oob_tcp_init(bool *allow_multi_user_threads, bool *have_hidden_threads);
|
mca_oob_t* mca_oob_tcp_init(bool *allow_multi_user_threads, bool *have_hidden_threads);
|
||||||
int mca_oob_tcp_finalize(void);
|
int mca_oob_tcp_finalize(mca_oob_t*);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert process name from network to host byte order.
|
* Convert process name from network to host byte order.
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user