1
1

Begin to "leak" the changes to the registry and supporting subsystems to resolve the flood situation and support abnormal terminations. These changes just define a new message structure for returning all startup/shutdown information in a single broadcast-like transmission. Shouldn't have any impact on existing code as the message object isn't used yet.

This commit was SVN r3311.
Этот коммит содержится в:
Ralph Castain 2004-10-25 13:36:09 +00:00
родитель e6066c59f2
Коммит 3e19906b95
3 изменённых файлов: 38 добавлений и 1 удалений

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

@ -495,6 +495,26 @@ ompi_rte_int_valuepair_destruct(ompi_object_t *obj)
if (NULL != valpair->value) free(valpair->value);
}
/** constructor for \c ompi_startup_shutdown_message_t */
static
void
ompi_startup_shutdown_message_construct(ompi_startup_shutdown_message_t *msg)
{
msg->msg = NULL;
}
/** destructor for \c ompi_startup_shutdown_message_t */
static
void
ompi_startup_shutdown_message_destruct(ompi_startup_shutdown_message_t *msg)
{
if (NULL != msg->msg) {
OBJ_RELEASE(msg->msg);
}
}
/** create instance information for \c ompi_rte_node_schedule_t */
OBJ_CLASS_INSTANCE(ompi_rte_node_schedule_t, ompi_list_item_t,
ompi_rte_int_node_schedule_construct,
@ -510,3 +530,7 @@ OBJ_CLASS_INSTANCE(ompi_rte_valuepair_t, ompi_list_item_t,
/** create instance information for \c ompi_rte_node_allocation_data_t */
OBJ_CLASS_INSTANCE(ompi_rte_node_allocation_data_t, ompi_object_t,
NULL, NULL);
/** create instance information for \c ompi_startup_shutdown_message_t */
OBJ_CLASS_INSTANCE(ompi_startup_shutdown_message_t, ompi_list_item_t,
ompi_startup_shutdown_message_construct,
ompi_startup_shutdown_message_destruct);

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

@ -81,6 +81,18 @@ extern "C" {
OMPI_DECLSPEC extern ompi_universe_t ompi_universe_info;
/* Define the startup/shutdown xcast message format for sending information
* from compound registry commands at the beginning and end of processes.
*/
struct ompi_startup_shutdown_message_t {
ompi_list_item_t item;
ompi_registry_notify_message_t *msg;
};
typedef struct ompi_startup_shutdown_message_t ompi_startup_shutdown_message_t;
OBJ_CLASS_DECLARATION(ompi_startup_shutdown_message_t);
/**
* Initialize the Open MPI support code
*

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

@ -39,7 +39,8 @@ int ompi_rte_universe_exists()
char *contact_file;
int ret;
ompi_process_name_t proc={0,0,0};
bool ns_found=false, gpr_found=false, ping_success=false;
/* bool ns_found=false, gpr_found=false; */
bool ping_success=false;
/* if both ns_replica and gpr_replica were provided, check for contact with them */
if (NULL != ompi_process_info.ns_replica && NULL != ompi_process_info.gpr_replica) {