1
1

Clean up the notify message class - missing the ompi_object_t element in structure.

This commit was SVN r3774.
Этот коммит содержится в:
Ralph Castain 2004-12-10 17:53:41 +00:00
родитель a4847ca677
Коммит 72e1161605
11 изменённых файлов: 12 добавлений и 44 удалений

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

@ -304,6 +304,9 @@ static void mca_base_modex_registry_callback(
/* update the pml/ptls with new proc */
}
/* release the message storage */
OBJ_RELEASE(msg);
if(NULL != new_procs) {
mca_pml.pml_add_procs(new_procs, new_proc_count);

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

@ -46,7 +46,6 @@ libmca_gpr_base_la_SOURCES = \
gpr_base_unpack_synchro.c \
gpr_base_pack_test_internals.c \
gpr_base_unpack_test_internals.c \
gpr_base_release_notify_msg.c \
gpr_base_select.c
# Conditionally install the header files

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

@ -176,8 +176,7 @@ extern "C" {
OMPI_DECLSPEC int mca_gpr_base_pack_triggers_inactive_cmd(ompi_buffer_t cmd, mca_ns_base_jobid_t jobid);
OMPI_DECLSPEC int mca_gpr_base_unpack_triggers_inactive_cmd(ompi_buffer_t cmd);
OMPI_DECLSPEC void mca_gpr_base_release_notify_msg(ompi_registry_notify_message_t *msg);
#if defined(c_plusplus) || defined(__cplusplus)
}

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

@ -180,7 +180,7 @@ static void ompi_registry_notify_message_destructor(ompi_registry_notify_message
/* define instance of ompi_class_t */
OBJ_CLASS_INSTANCE(
ompi_registry_notify_message_t, /* type name */
ompi_list_item_t, /* parent "class" name */
ompi_object_t, /* parent "class" name */
ompi_registry_notify_message_construct, /* constructor */
ompi_registry_notify_message_destructor); /* destructor */

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

@ -1,36 +0,0 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* All rights reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "mca/gpr/base/base.h"
void mca_gpr_base_release_notify_msg(ompi_registry_notify_message_t *msg)
{
ompi_registry_value_t *ptr;
if (NULL != msg->segment) {
free(msg->segment);
}
if (0 < ompi_list_get_size(&msg->data)) {
while (NULL != (ptr = (ompi_registry_value_t*)ompi_list_remove_first(&msg->data))) {
OBJ_RELEASE(ptr);
}
}
free(msg);
}

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

@ -86,6 +86,7 @@ typedef uint16_t ompi_registry_synchro_mode_t;
/** Return value for notify requests
*/
struct ompi_registry_notify_message_t {
ompi_object_t super; /**< Make this an object */
char *segment; /**< Name of originating segment */
mca_ns_base_jobid_t owning_job; /**< Job that owns that segment */
ompi_list_t data; /**< List of data objects */

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

@ -360,7 +360,7 @@ void mca_gpr_proxy_notify_recv(int status, ompi_process_name_t* sender,
/* dismantle message and free memory */
RETURN_ERROR:
mca_gpr_base_release_notify_msg(message);
OBJ_RELEASE(message);
/* reissue non-blocking receive */
mca_oob_recv_packed_nb(MCA_OOB_NAME_ANY, MCA_OOB_TAG_GPR_NOTIFY, 0, mca_gpr_proxy_notify_recv, NULL);

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

@ -52,5 +52,5 @@ void mca_gpr_proxy_deliver_notify_msg(ompi_registry_notify_action_t state,
OMPI_THREAD_UNLOCK(&mca_gpr_proxy_mutex);
}
}
mca_gpr_base_release_notify_msg(message);
OBJ_RELEASE(message);
}

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

@ -55,6 +55,6 @@ void mca_gpr_replica_deliver_notify_msg(ompi_registry_notify_action_t state,
OMPI_THREAD_UNLOCK(&mca_gpr_replica_mutex);
}
}
mca_gpr_base_release_notify_msg(message);
OBJ_RELEASE(message);
}

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

@ -319,5 +319,5 @@ void mca_gpr_replica_remote_notify(ompi_process_name_t *recipient, int recipient
ompi_buffer_free(msg);
mca_gpr_base_release_notify_msg(message);
OBJ_RELEASE(message);
}

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

@ -51,6 +51,8 @@ ompi_rte_vm_status_t
if (NULL != (value = (ompi_registry_value_t*)ompi_list_remove_first(returned_list))) {
stat_ptr = ompi_rte_unpack_vm_status(value);
OBJ_RELEASE(value);
OBJ_RELEASE(returned_list);
return stat_ptr;
}