[mpich2-commits] r3995 - in mpich2/trunk/src/pm/hydra: include launcher/mpiexec pm/central utils/env utils/launch
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Tue Mar 10 00:26:18 CDT 2009
Author: balaji
Date: 2009-03-10 00:26:18 -0500 (Tue, 10 Mar 2009)
New Revision: 3995
Modified:
mpich2/trunk/src/pm/hydra/include/hydra.h
mpich2/trunk/src/pm/hydra/include/hydra_env.h
mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
mpich2/trunk/src/pm/hydra/pm/central/proxy.c
mpich2/trunk/src/pm/hydra/utils/env/env.c
mpich2/trunk/src/pm/hydra/utils/launch/args.c
Log:
Some cleanup to the environment handling scripts, but more things need to
be changed. We no longer have auto-incrementing and static variables. The
program logic takes care of assigning the right values for the variables.
Modified: mpich2/trunk/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra.h 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/include/hydra.h 2009-03-10 05:26:18 UTC (rev 3995)
@@ -67,18 +67,9 @@
#define HYD_TMPBUF_SIZE (64 * 1024)
#define HYD_EXEC_ARGS 200
-typedef enum {
- HYD_ENV_STATIC,
- HYD_ENV_AUTOINC
-} HYD_Env_type_t;
-
typedef struct HYD_Env {
char *env_name;
char *env_value;
-
- /* Auto-incrementing environment variables can only be integers */
- HYD_Env_type_t env_type;
- int start_val;
struct HYD_Env *next;
} HYD_Env_t;
Modified: mpich2/trunk/src/pm/hydra/include/hydra_env.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra_env.h 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/include/hydra_env.h 2009-03-10 05:26:18 UTC (rev 3995)
@@ -10,15 +10,13 @@
#include "hydra.h"
HYD_Status HYDU_Env_global_list(HYD_Env_t ** env_list);
-char *HYDU_Env_type_str(HYD_Env_type_t type);
HYD_Env_t *HYDU_Env_dup(HYD_Env_t env);
-HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env);
-HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env);
HYD_Env_t *HYDU_Env_listdup(HYD_Env_t * env);
-HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name,
- char *env_value, HYD_Env_type_t env_type, int start);
+HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name, char *env_value);
HYD_Status HYDU_Env_free(HYD_Env_t * env);
HYD_Status HYDU_Env_free_list(HYD_Env_t * env);
+HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env);
+HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env);
HYD_Status HYDU_Env_putenv(HYD_Env_t env);
#endif /* HYDRA_ENV_H_INCLUDED */
Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-10 05:26:18 UTC (rev 3995)
@@ -199,7 +199,7 @@
if (env_name == NULL)
break;
- status = HYDU_Env_create(&env, env_name, NULL, HYD_ENV_STATIC, 0);
+ status = HYDU_Env_create(&env, env_name, NULL);
if (status != HYD_SUCCESS) {
HYDU_Error_printf("unable to create env struct\n");
goto fn_fail;
@@ -249,7 +249,7 @@
if (env_name == NULL)
break;
- status = HYDU_Env_create(&env, env_name, NULL, HYD_ENV_STATIC, 0);
+ status = HYDU_Env_create(&env, env_name, NULL);
if (status != HYD_SUCCESS) {
HYDU_Error_printf("unable to create env struct\n");
goto fn_fail;
@@ -276,7 +276,7 @@
CHECK_NEXT_ARG_VALID(status);
env_value = MPIU_Strdup(*argv);
- status = HYDU_Env_create(&env, env_name, env_value, HYD_ENV_STATIC, 0);
+ status = HYDU_Env_create(&env, env_name, env_value);
if (status != HYD_SUCCESS) {
HYDU_Error_printf("unable to create env struct\n");
goto fn_fail;
@@ -441,20 +441,17 @@
HYDU_Print("\n");
HYDU_Print(" Global environment:\n");
for (env = handle.global_env; env; env = env->next)
- HYDU_Print(" %s=%s (type: %s)\n", env->env_name, env->env_value,
- HYDU_Env_type_str(env->env_type));
+ HYDU_Print(" %s=%s\n", env->env_name, env->env_value);
HYDU_Print("\n");
HYDU_Print(" Hydra internal environment:\n");
for (env = handle.system_env; env; env = env->next)
- HYDU_Print(" %s=%s (type: %s)\n", env->env_name, env->env_value,
- HYDU_Env_type_str(env->env_type));
+ HYDU_Print(" %s=%s\n", env->env_name, env->env_value);
HYDU_Print("\n");
HYDU_Print(" User set environment:\n");
for (env = handle.user_env; env; env = env->next)
- HYDU_Print(" %s=%s (type: %s)\n", env->env_name, env->env_value,
- HYDU_Env_type_str(env->env_type));
+ HYDU_Print(" %s=%s\n", env->env_name, env->env_value);
HYDU_Print("\n");
Modified: mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/central_launch.c 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/pm/central/central_launch.c 2009-03-10 05:26:18 UTC (rev 3995)
@@ -86,7 +86,7 @@
"%s:%s", hostname, sport);
HYDU_FREE(sport);
- status = HYDU_Env_create(&env, "PMI_PORT", port_str, HYD_ENV_STATIC, 0);
+ status = HYDU_Env_create(&env, "PMI_PORT", port_str);
if (status != HYD_SUCCESS) {
HYDU_Error_printf("unable to create env\n");
goto fn_fail;
@@ -99,7 +99,7 @@
HYDU_Env_free(env);
HYDU_FREE(port_str);
- status = HYDU_Env_create(&env, "PMI_ID", NULL, HYD_ENV_AUTOINC, 0);
+ status = HYDU_Env_create(&env, "PMI_ID", NULL);
if (status != HYD_SUCCESS) {
HYDU_Error_printf("unable to create env\n");
goto fn_fail;
Modified: mpich2/trunk/src/pm/hydra/pm/central/proxy.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/proxy.c 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/pm/central/proxy.c 2009-03-10 05:26:18 UTC (rev 3995)
@@ -71,8 +71,6 @@
pmi.env_name = MPIU_Strdup("PMI_ID");
HYDU_Int_to_str(HYD_Proxy_params.pmi_id + i, str, status);
pmi.env_value = MPIU_Strdup(str);
- pmi.env_type = HYD_ENV_STATIC;
- pmi.start_val = 0;
pmi.next = NULL;
/* Update the PMI_ID value with this one */
Modified: mpich2/trunk/src/pm/hydra/utils/env/env.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/env/env.c 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/utils/env/env.c 2009-03-10 05:26:18 UTC (rev 3995)
@@ -27,7 +27,6 @@
env_value = strtok(NULL, "=");
env->env_name = MPIU_Strdup(env_name);
env->env_value = env_value ? MPIU_Strdup(env_value) : NULL;
- env->env_type = HYD_ENV_STATIC;
HYDU_FREE(env_str);
status = HYDU_Env_add_to_list(env_list, *env);
@@ -49,21 +48,6 @@
}
-char *HYDU_Env_type_str(HYD_Env_type_t type)
-{
- char *str;
-
- if (type == HYD_ENV_STATIC)
- str = MPIU_Strdup("STATIC");
- else if (type == HYD_ENV_AUTOINC)
- str = MPIU_Strdup("AUTOINC");
- else
- str = NULL;
-
- return str;
-}
-
-
HYD_Env_t *HYDU_Env_dup(HYD_Env_t env)
{
HYD_Env_t *tenv;
@@ -91,91 +75,6 @@
}
-HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env)
-{
- HYD_Env_t *run;
-
- HYDU_FUNC_ENTER();
-
- run = env_list;
- while (run->next) {
- if (!strcmp(run->env_name, env.env_name))
- goto fn_exit;
- run = run->next;
- }
- run = NULL;
-
- goto fn_exit;
-
- fn_exit:
- HYDU_FUNC_EXIT();
- return run;
-}
-
-
-HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env)
-{
- HYD_Env_t *run, *tenv;
- HYD_Status status = HYD_SUCCESS;
-
- HYDU_FUNC_ENTER();
-
- tenv = HYDU_Env_dup(env);
- if (tenv == NULL) {
- HYDU_Error_printf("unable to dup environment\n");
- status = HYD_INTERNAL_ERROR;
- goto fn_fail;
- }
-
- tenv->next = NULL;
-
- /* Add the structure to the end of the list */
- if (*env_list == NULL) {
- *env_list = tenv;
- }
- else {
- run = *env_list;
-
- while (1) {
- if (!strcmp(run->env_name, env.env_name)) {
- /* If we found an entry for this environment variable, just update it */
- if (run->env_value != NULL && tenv->env_value != NULL) {
- HYDU_FREE(run->env_value);
- run->env_value = MPIU_Strdup(tenv->env_value);
- }
- else if (run->env_value != NULL) {
- HYDU_FREE(run->env_value);
- run->env_value = NULL;
- }
- else if (env.env_value != NULL) {
- run->env_value = MPIU_Strdup(tenv->env_value);
- }
- run->env_type = tenv->env_type;
-
- HYDU_FREE(tenv->env_name);
- if (tenv->env_value)
- HYDU_FREE(tenv->env_value);
- HYDU_FREE(tenv);
-
- break;
- }
- else if (run->next == NULL) {
- run->next = tenv;
- break;
- }
- run = run->next;
- }
- }
-
- fn_exit:
- HYDU_FUNC_EXIT();
- return status;
-
- fn_fail:
- goto fn_exit;
-}
-
-
HYD_Env_t *HYDU_Env_listdup(HYD_Env_t * env)
{
HYD_Env_t *tenv, *run;
@@ -204,8 +103,7 @@
}
-HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name,
- char *env_value, HYD_Env_type_t env_type, int start)
+HYD_Status HYDU_Env_create(HYD_Env_t ** env, char *env_name, char *env_value)
{
HYD_Status status = HYD_SUCCESS;
@@ -214,8 +112,7 @@
HYDU_MALLOC(*env, HYD_Env_t *, sizeof(HYD_Env_t), status);
(*env)->env_name = MPIU_Strdup(env_name);
(*env)->env_value = env_value ? MPIU_Strdup(env_value) : NULL;
- (*env)->env_type = env_type;
- (*env)->start_val = start;
+ (*env)->next = NULL;
fn_exit:
HYDU_FUNC_EXIT();
@@ -262,6 +159,88 @@
}
+HYD_Env_t *HYDU_Env_found_in_list(HYD_Env_t * env_list, HYD_Env_t env)
+{
+ HYD_Env_t *run;
+
+ HYDU_FUNC_ENTER();
+
+ run = env_list;
+ while (run->next) {
+ if (!strcmp(run->env_name, env.env_name))
+ goto fn_exit;
+ run = run->next;
+ }
+ run = NULL;
+
+ fn_exit:
+ HYDU_FUNC_EXIT();
+ return run;
+}
+
+
+HYD_Status HYDU_Env_add_to_list(HYD_Env_t ** env_list, HYD_Env_t env)
+{
+ HYD_Env_t *run, *tenv;
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ tenv = HYDU_Env_dup(env);
+ if (tenv == NULL) {
+ HYDU_Error_printf("unable to dup environment\n");
+ status = HYD_INTERNAL_ERROR;
+ goto fn_fail;
+ }
+
+ tenv->next = NULL;
+
+ /* Add the structure to the end of the list */
+ if (*env_list == NULL) {
+ *env_list = tenv;
+ }
+ else {
+ run = *env_list;
+
+ while (1) {
+ if (!strcmp(run->env_name, env.env_name)) {
+ /* If we found an entry for this environment variable, just update it */
+ if (run->env_value != NULL && tenv->env_value != NULL) {
+ HYDU_FREE(run->env_value);
+ run->env_value = MPIU_Strdup(tenv->env_value);
+ }
+ else if (run->env_value != NULL) {
+ HYDU_FREE(run->env_value);
+ run->env_value = NULL;
+ }
+ else if (env.env_value != NULL) {
+ run->env_value = MPIU_Strdup(tenv->env_value);
+ }
+
+ HYDU_FREE(tenv->env_name);
+ if (tenv->env_value)
+ HYDU_FREE(tenv->env_value);
+ HYDU_FREE(tenv);
+
+ break;
+ }
+ else if (run->next == NULL) {
+ run->next = tenv;
+ break;
+ }
+ run = run->next;
+ }
+ }
+
+ fn_exit:
+ HYDU_FUNC_EXIT();
+ return status;
+
+ fn_fail:
+ goto fn_exit;
+}
+
+
HYD_Status HYDU_Env_putenv(HYD_Env_t env)
{
int i;
Modified: mpich2/trunk/src/pm/hydra/utils/launch/args.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/launch/args.c 2009-03-10 04:36:20 UTC (rev 3994)
+++ mpich2/trunk/src/pm/hydra/utils/launch/args.c 2009-03-10 05:26:18 UTC (rev 3995)
@@ -24,15 +24,7 @@
tmp[j++] = MPIU_Strdup(env->env_name);
tmp[j++] = MPIU_Strdup("=");
-
- if (env->env_type == HYD_ENV_STATIC)
- tmp[j++] = MPIU_Strdup(env->env_value);
- else if (env->env_type == HYD_ENV_AUTOINC) {
- HYDU_Int_to_str(env->start_val + id, inc, status);
- tmp[j++] = MPIU_Strdup(inc);
- HYDU_FREE(inc);
- }
-
+ tmp[j++] = env->env_value ? MPIU_Strdup(env->env_value) : MPIU_Strdup("");
tmp[j++] = NULL;
HYDU_STR_ALLOC_AND_JOIN(tmp, envstr, status);
client_arg[i++] = MPIU_Strdup(envstr);
More information about the mpich2-commits
mailing list