~james-page/ubuntu/precise/openmpi1.5/new

« back to all changes in this revision

Viewing changes to orte/mca/odls/base/odls_base_state.c

  • Committer: Bazaar Package Importer
  • Author(s): Manuel Prinz
  • Date: 2009-04-23 14:01:21 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20090423140121-vsi3pqa6g30j4qiy
Tags: 1.3.2-1
* New upstream release. (Closes: #520597, #515116)
  - Manpage and VampirTrace patches removed, included upstream.
* Fixed build issues on Alpha. Huge thanks to Arthur Loiret for providing
  access to his machines for testing! (Closes: #510845, #517543)
* Fixed build issues on Sparc. (Closes: #519725)
* Fixed manpage-has-errors-from-man lintian warnings.
* Faked SONAME change by renaming library package. (Closes: #512616)
* Made libopenmpi-dev depend on libibverbs-dev. (Closes: #522153)
* Support for "nocheck" build option in debian/rules.
* Updated Standards-Version in debian/control.
* Changed section of libopenmpi-dbg to "debug".
* Updated debian/copyright.

* Dirk Eddelbuettel removed himself from Uploaders. The team thanks Dirk
  for his long-term contribution and effort to get Open MPI back to life.
  I personally thank Dirk for encouraging me to become a Debian Developer
  and his support and mentoring on that way and beyond.

Show diffs side-by-side

added added

removed removed

Lines of Context:
89
89
                             "%s) Preload Binary...",
90
90
                             ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
91
91
        if( ORTE_SUCCESS != (ret = orte_odls_base_preload_append_binary(app_context, 
92
 
                                                                       filem_request) ) ){
 
92
                                                                        filem_request) ) ){
93
93
            orte_show_help("help-orte-odls-base.txt",
94
94
                           "orte-odls-base:could-not-preload-binary",
95
95
                           true, app_context->app);
168
168
 
169
169
 cleanup:
170
170
    /*
171
 
     * Adjust the process name to point to the new local version
 
171
     * Adjust the process name to point to the new local version (and argv[0])
172
172
     */
173
173
    if( NULL != local_bin ) {
174
174
        if(NULL != context->app) {
175
175
            free(context->app);
176
176
            context->app = NULL;
177
177
        }
178
 
 
179
 
        context->app = strdup(local_bin);
 
178
        if(NULL != context->argv[0]) {
 
179
            free(context->argv[0]);
 
180
            context->argv[0] = NULL;
 
181
        }
 
182
 
 
183
        context->app     = strdup(local_bin);
 
184
        context->argv[0] = strdup(local_bin);
 
185
 
180
186
        free(local_bin);
181
187
    }
182
188
    
189
195
    char * local_ref = NULL;
190
196
    int i, remote_argc = 0;
191
197
    char **remote_targets = NULL;
192
 
    char * temp = NULL;
193
198
    orte_filem_base_file_set_t * f_set = NULL;
194
199
 
195
200
    remote_targets = opal_argv_split(context->preload_files, ',');
212
217
            if('/' == remote_targets[i][0]) {
213
218
                asprintf(&local_ref, "%s", remote_targets[i]);
214
219
            } else {
215
 
                asprintf(&local_ref, "%s/%s", context->cwd, opal_basename(remote_targets[i]) );
216
 
            }
217
 
        }
218
 
 
219
 
        asprintf(&temp, "test -e %s", local_ref);
220
 
        if(0 == system(temp)) {
221
 
            char hostname[MAXHOSTNAMELEN];
222
 
            gethostname(hostname, sizeof(hostname));
223
 
            orte_show_help("help-orte-odls-base.txt",
224
 
                           "orte-odls-base:preload-file-exists",
225
 
                           true, local_ref, hostname);
226
 
            free(temp);
227
 
            temp = NULL;
228
 
            free(local_ref);
229
 
            local_ref = NULL;
230
 
            continue;
231
 
        }
232
 
        free(temp);
233
 
        temp = NULL;
234
 
        
 
220
                asprintf(&local_ref, "%s/%s", context->cwd, remote_targets[i] );
 
221
            }
 
222
 
 
223
            /* If this is the HNP, then source = sink, so use the same path for each local and remote */
 
224
            if( orte_process_info.hnp ) {
 
225
                free(remote_targets[i]);
 
226
                remote_targets[i] = strdup(local_ref);
 
227
            }
 
228
        }
 
229
 
235
230
        /*
236
231
         * Is this a duplicate
237
232
         */