[mpich2-commits] r5462 - mpich2/trunk/src/pm/smpd
jayesh at mcs.anl.gov
jayesh at mcs.anl.gov
Wed Oct 14 16:46:13 CDT 2009
Author: jayesh
Date: 2009-10-14 16:46:13 -0500 (Wed, 14 Oct 2009)
New Revision: 5462
Modified:
mpich2/trunk/src/pm/smpd/smpd.c
mpich2/trunk/src/pm/smpd/smpd_cmd_args.c
mpich2/trunk/src/pm/smpd/smpd_user_data.c
Log:
Enabling user selection of the PM port during installation on windows. Fixes ticket #897
Modified: mpich2/trunk/src/pm/smpd/smpd.c
===================================================================
--- mpich2/trunk/src/pm/smpd/smpd.c 2009-10-14 12:10:26 UTC (rev 5461)
+++ mpich2/trunk/src/pm/smpd/smpd.c 2009-10-14 21:46:13 UTC (rev 5462)
@@ -203,6 +203,7 @@
/* prevent the os from bringing up debug message boxes if this process crashes */
if (smpd_process.bService)
{
+ char port[SMPD_MAX_PORT_STR_LENGTH];
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
if (!smpd_report_status_to_sc_mgr(SERVICE_RUNNING, NO_ERROR, 0))
{
@@ -213,6 +214,8 @@
}
smpd_clear_process_registry();
smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
+ smpd_get_smpd_data("port", port, SMPD_MAX_PORT_STR_LENGTH);
+ smpd_process.port = atoi(port);
}
#endif
Modified: mpich2/trunk/src/pm/smpd/smpd_cmd_args.c
===================================================================
--- mpich2/trunk/src/pm/smpd/smpd_cmd_args.c 2009-10-14 12:10:26 UTC (rev 5461)
+++ mpich2/trunk/src/pm/smpd/smpd_cmd_args.c 2009-10-14 21:46:13 UTC (rev 5462)
@@ -360,7 +360,7 @@
smpd_get_opt(argcp, argvp, "/install") ||
smpd_get_opt(argcp, argvp, "/RegServer"))
{
- char phrase[SMPD_PASSPHRASE_MAX_LENGTH]="", port_str[12]="";
+ char phrase[SMPD_PASSPHRASE_MAX_LENGTH]="", port_str[SMPD_MAX_PORT_STR_LENGTH]="";
if (smpd_remove_service(SMPD_FALSE) == SMPD_FALSE)
{
@@ -379,10 +379,12 @@
smpd_get_password(phrase);
smpd_set_smpd_data("phrase", phrase);
}
- if (smpd_get_opt_string(argcp, argvp, "-port", port_str, 10))
+ if (smpd_process.port != SMPD_LISTENER_PORT)
{
+ snprintf(port_str, SMPD_MAX_PORT_STR_LENGTH, "%d", smpd_process.port);
smpd_set_smpd_data("port", port_str);
}
+
smpd_install_service(SMPD_FALSE, SMPD_TRUE, smpd_get_opt(argcp, argvp, "-delegation"));
smpd_set_smpd_data("version", SMPD_VERSION);
ExitProcess(0);
Modified: mpich2/trunk/src/pm/smpd/smpd_user_data.c
===================================================================
--- mpich2/trunk/src/pm/smpd/smpd_user_data.c 2009-10-14 12:10:26 UTC (rev 5461)
+++ mpich2/trunk/src/pm/smpd/smpd_user_data.c 2009-10-14 21:46:13 UTC (rev 5462)
@@ -742,6 +742,12 @@
smpd_exit_fn(FCNAME);
return SMPD_SUCCESS;
}
+ if(strcmp(key, "port") == 0)
+ {
+ snprintf(value, value_len, "%d", SMPD_LISTENER_PORT);
+ smpd_exit_fn(FCNAME);
+ return SMPD_SUCCESS;
+ }
#endif
if (strcmp(key, "log") == 0)
{
More information about the mpich2-commits
mailing list