Fix a couple of minor bugs:
- 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.
Этот коммит содержится в:
родитель
bf5484252f
Коммит
edcc35795b
@ -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);
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user