diff --git a/orte/mca/ess/base/ess_base_std_tool.c b/orte/mca/ess/base/ess_base_std_tool.c index 8c8cefa7be..bc3352c515 100644 --- a/orte/mca/ess/base/ess_base_std_tool.c +++ b/orte/mca/ess/base/ess_base_std_tool.c @@ -77,18 +77,6 @@ int orte_ess_base_tool_setup(void) orte_process_info.super.proc_arch = opal_local_arch; opal_proc_local_set(&orte_process_info.super); - if (NULL != orte_process_info.my_hnp_uri) { - /* if we were given an HNP, then we want - * to look like an application as well as being a tool. - * Need to do this before opening the routed framework - * so it will do the right things. - */ - orte_process_info.proc_type |= ORTE_PROC_NON_MPI; - /* get a separate orte event base */ - orte_event_base = opal_start_progress_thread("orte", true); - progress_thread_running = true; - orte_event_base_active = true; - } /* open and setup the state machine */ if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_state_base_framework, 0))) { ORTE_ERROR_LOG(ret); diff --git a/orte/tools/orte-submit/orte-submit.c b/orte/tools/orte-submit/orte-submit.c index daf924e9cb..c5e844a118 100644 --- a/orte/tools/orte-submit/orte-submit.c +++ b/orte/tools/orte-submit/orte-submit.c @@ -318,7 +318,7 @@ static opal_cmd_line_init_t cmd_line_init[] = { &myglobals.run_as_root, OPAL_CMD_LINE_TYPE_BOOL, "Allow execution as root (STRONGLY DISCOURAGED)" }, -/* End of list */ + /* End of list */ { NULL, '\0', NULL, NULL, 0, NULL, OPAL_CMD_LINE_TYPE_NULL, NULL } }; @@ -409,8 +409,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "--------------------------------------------------------------------------\n"); exit(1); } - - /* + + /* * Since this process can now handle MCA/GMCA parameters, make sure to * process them. */ @@ -435,6 +435,32 @@ int main(int argc, char *argv[]) exit(1); } + /* Check for help request */ + if (myglobals.help) { + char *str, *args = NULL; + char *project_name = NULL; + opal_output(0, "GETTING HELP"); + if (0 == strcmp(myglobals.basename, "mpirun")) { + project_name = "Open MPI"; + } else { + project_name = "OpenRTE"; + } + args = opal_cmd_line_get_usage_msg(&cmd_line); + opal_output(0, "CMD LINE %s", args); + str = opal_show_help_string("help-orterun.txt", "orterun:usage", false, + myglobals.basename, project_name, OPAL_VERSION, + myglobals.basename, args, + PACKAGE_BUGREPORT); + if (NULL != str) { + printf("%s", str); + free(str); + } + free(args); + + /* If someone asks for help, that should be all we do */ + exit(0); + } + /* Check for some "global" command line params */ parse_globals(argc, argv, &cmd_line); @@ -691,12 +717,16 @@ int main(int argc, char *argv[]) orte_rml.send_buffer_nb(ORTE_PROC_MY_HNP, req, ORTE_RML_TAG_DAEMON, orte_rml_send_callback, NULL); // wait for response and unpack the status, jobid - ORTE_WAIT_FOR_COMPLETION(myspawn); + while (myspawn) { + opal_event_loop(orte_event_base, OPAL_EVLOOP_ONCE); + } opal_output(0, "Job %s has launched", ORTE_JOBID_PRINT(jdata->jobid)); waiting: - ORTE_WAIT_FOR_COMPLETION(mywait); - + while (mywait) { + opal_event_loop(orte_event_base, OPAL_EVLOOP_ONCE); + } + DONE: /* cleanup and leave */ orte_finalize();