@@ -118,10 +118,24 @@ void orte_plm_base_daemons_reported(int fd, short args, void *cbdata)
118
118
orte_proc_t * dmn1 ;
119
119
int i ;
120
120
121
- /* if we got back topology info from the first node, then we use
122
- * it as the "standard" for all other nodes unless they sent
123
- * back their own topology */
124
- if (1 < orte_process_info .num_procs ) {
121
+ /* if we are not launching, then we just assume that all
122
+ * daemons share our topology */
123
+ if (orte_do_not_launch ) {
124
+ node = (orte_node_t * )opal_pointer_array_get_item (orte_node_pool , 0 );
125
+ t = node -> topology ;
126
+ for (i = 1 ; i < orte_node_pool -> size ; i ++ ) {
127
+ if (NULL == (node = (orte_node_t * )opal_pointer_array_get_item (orte_node_pool , i ))) {
128
+ continue ;
129
+ }
130
+ if (NULL == node -> topology ) {
131
+ node -> topology = t ;
132
+ }
133
+ }
134
+ } else if (1 < orte_process_info .num_procs ) {
135
+ /* if we got back topology info from the first node, then we use
136
+ * it as the "standard" for all other nodes unless they sent
137
+ * back their own topology */
138
+
125
139
/* find daemon.vpid = 1 */
126
140
jdata = orte_get_job_data_object (ORTE_PROC_MY_NAME -> jobid );
127
141
if (NULL == (dmn1 = (orte_proc_t * )opal_pointer_array_get_item (jdata -> procs , 1 ))) {
@@ -151,17 +165,6 @@ void orte_plm_base_daemons_reported(int fd, short args, void *cbdata)
151
165
node -> topology = t ;
152
166
}
153
167
}
154
- } else if (orte_do_not_launch ) {
155
- node = (orte_node_t * )opal_pointer_array_get_item (orte_node_pool , 0 );
156
- t = node -> topology ;
157
- for (i = 1 ; i < orte_node_pool -> size ; i ++ ) {
158
- if (NULL == (node = (orte_node_t * )opal_pointer_array_get_item (orte_node_pool , i ))) {
159
- continue ;
160
- }
161
- if (NULL == node -> topology ) {
162
- node -> topology = t ;
163
- }
164
- }
165
168
}
166
169
167
170
/* if this is an unmanaged allocation, then set the default
0 commit comments