Commit 331fb13
committed
broker: always execute rc2 in a separate process group
Problem: The broker may execute rc2 (the intiial program) using
either runat_push_shell_command() (if there is only 1 argument),
or runat_push_command() (if there are multiple arguments). However,
runat_push_shell_command() runs processes in their own process group,
while runat_push_command() does not. This causes different behavior in
signal handling between different batch jobs depending on the number
of arguments: i.e. in one case, signals sent to the batch job are
delivered to the batch script, and in the other case they are not.
This difference makes the behavior of signals unpredictiable for user
batch jobs.
Add the FLUX_SUBPROCESS_FLAGS_SETPGRP flag in runat_push_command()
as it is done in runat_push_shell_command() so that rc2 is always run
in its own process group, regardless of the number of args.1 parent 5948b01 commit 331fb13
1 file changed
+10
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
465 | 465 | | |
466 | 466 | | |
467 | 467 | | |
468 | | - | |
469 | | - | |
470 | | - | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
525 | 532 | | |
526 | 533 | | |
527 | 534 | | |
| |||
0 commit comments