1
1
- stop mca_oob_parse_contact_info from trashing the input string
- get gpr_proxy to reissue the non-blocking receive for notify messages
- add a diagnostic message to the gpr_proxy

This commit was SVN r2669.
Этот коммит содержится в:
Ralph Castain 2004-09-14 17:00:48 +00:00
родитель bf5484252f
Коммит edcc35795b
3 изменённых файлов: 18 добавлений и 3 удалений

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

@ -10,6 +10,7 @@
#include <string.h>
#include "util/output.h"
#include "util/proc_info.h"
#include "mca/mca.h"
#include "mca/gpr/base/base.h"
@ -139,7 +140,11 @@ int gpr_proxy_put(ompi_registry_mode_t mode, char *segment,
}
if (mca_gpr_proxy_debug) {
ompi_output(0, "gpr_proxy_put: initiating send");
ompi_output(0, "[%d,%d,%d] gpr_proxy_put: initiating send", ompi_process_info.name->cellid,
ompi_process_info.name->jobid, ompi_process_info.name->vpid);
if (NULL == mca_gpr_my_replica) {
ompi_output(0, "\tBAD REPLICA");
}
}
if (0 > (ret = mca_oob_send_packed(mca_gpr_my_replica, cmd, MCA_OOB_TAG_GPR, 0))) {
@ -149,6 +154,11 @@ int gpr_proxy_put(ompi_registry_mode_t mode, char *segment,
return OMPI_ERROR;
}
if (mca_gpr_proxy_debug) {
ompi_output(0, "[%d,%d,%d] gpr_proxy_put: send complete", ompi_process_info.name->cellid,
ompi_process_info.name->jobid, ompi_process_info.name->vpid);
}
if (0 > mca_oob_recv_packed(mca_gpr_my_replica, &answer, &recv_tag)) {
return OMPI_ERROR;
}

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

@ -18,6 +18,7 @@
#include "util/output.h"
#include "mca/mca.h"
#include "mca/base/mca_base_param.h"
#include "mca/ns/base/base.h"
#include "mca/gpr/base/base.h"
#include "gpr_proxy.h"
@ -268,5 +269,9 @@ void mca_gpr_proxy_notify_recv(int status, ompi_process_name_t* sender,
RETURN_ERROR:
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);
}

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

@ -51,14 +51,14 @@ int mca_oob_parse_contact_info(
/* parse the process name */
char* cinfo = strdup(contact_info);
char* ptr = strchr(contact_info, ';');
char* ptr = strchr(cinfo, ';');
if(NULL == ptr) {
free(cinfo);
return OMPI_ERR_BAD_PARAM;
}
*ptr = '\0';
ptr++;
proc_name = ns_base_convert_string_to_process_name(contact_info);
proc_name = ns_base_convert_string_to_process_name(cinfo);
*name = *proc_name;
free(proc_name);