[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