diff --git a/src/plugins/launch/aprun/launch_aprun.c b/src/plugins/launch/aprun/launch_aprun.c index d19da2c0560ea80ab6c344f6e55e3a4347de923a..b2d0e6896a8dd4242388a0c0120e7718842ee676 100644 --- a/src/plugins/launch/aprun/launch_aprun.c +++ b/src/plugins/launch/aprun/launch_aprun.c @@ -333,7 +333,7 @@ extern int launch_p_setup_srun_opt(char **rest) opt.argv[command_pos++] = xstrdup_printf("%u", tasks_per_node); } - if (opt.ntasks) { + if (opt.ntasks && !opt.multi_prog) { opt.argc += 2; xrealloc(opt.argv, opt.argc * sizeof(char *)); opt.argv[command_pos++] = xstrdup("-n"); @@ -483,19 +483,12 @@ extern int launch_p_setup_srun_opt(char **rest) */ - if (opt.multi_prog) + if (opt.multi_prog) { _handle_multi_prog(rest[0], &command_pos); - - if (opt.launch_cmd) { - int i = 0; - char *cmd_line = NULL; - - while (opt.argv[i]) - xstrfmtcat(cmd_line, "%s ", opt.argv[i++]); - printf("%s\n", cmd_line); - xfree(cmd_line); - exit(0); + /* just so we don't tack on the script to the aprun line */ + command_pos = opt.argc; } + return command_pos; }