16
16
* reserved.
17
17
* Copyright (c) 2016 Research Organization for Information Science
18
18
* and Technology (RIST). All rights reserved.
19
+ * Copyright (c) 2021 Nanook Consulting. All rights reserved.
20
+ *
19
21
* $COPYRIGHT$
20
22
*
21
23
* Additional copyrights may follow
@@ -101,7 +103,20 @@ int ompi_mtl_psm2_module_init(int local_rank, int num_local_procs) {
101
103
char env_string [256 ];
102
104
int rc ;
103
105
104
- generated_key = getenv ("OMPI_MCA_orte_precondition_transports" );
106
+ opal_process_name_t pname ;
107
+
108
+ generated_key = NULL ;
109
+ pname .jobid = opal_process_info .my_name .jobid ;
110
+ pname .vpid = OPAL_VPID_WILDCARD ;
111
+ OPAL_MODEX_RECV_VALUE_OPTIONAL (rc , PMIX_CREDENTIAL , & pname ,
112
+ (char * * )& generated_key , PMIX_STRING );
113
+
114
+ char * tmp_key ;
115
+ if (PMIX_SUCCESS != rc || NULL == generated_key ) {
116
+ if (NULL != (tmp_key = getenv ("OMPI_MCA_orte_precondition_transports" ))) {
117
+ generated_key = strdup (tmp_key );
118
+ }
119
+ }
105
120
memset (uu , 0 , sizeof (psm2_uuid_t ));
106
121
107
122
if (!generated_key || (strlen (generated_key ) != 33 ) ||
@@ -111,10 +126,13 @@ int ompi_mtl_psm2_module_init(int local_rank, int num_local_procs) {
111
126
"no uuid present" , true,
112
127
generated_key ? "could not be parsed from" :
113
128
"not present in" , ompi_process_info .nodename );
129
+ free (generated_key );
114
130
return OMPI_ERROR ;
115
131
116
132
}
117
133
134
+ free (generated_key );
135
+
118
136
/* Handle our own errors for opening endpoints */
119
137
psm2_error_register_handler (ompi_mtl_psm2 .ep , ompi_mtl_psm2_errhandler );
120
138
0 commit comments