This repository was archived by the owner on May 28, 2025. It is now read-only.
forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit 57e2c06
Auto merge of rust-lang#101077 - sunshowers:signal-mask-inherit, r=sunshowers
Change process spawning to inherit the parent's signal mask by default
Previously, the signal mask was always reset when a child process is
started. This breaks tools like `nohup` which expect `SIGHUP` to be
blocked for all transitive processes.
With this change, the default behavior changes to inherit the signal mask.
This also changes the signal disposition for `SIGPIPE` to only be changed if the `#[unix_sigpipe]` attribute isn't set.File tree
8 files changed
+143
-79
lines changed- compiler/rustc_session/src/config
- library/std/src
- sys/unix
- process
- process_common
- src
- doc/unstable-book/src/language-features
- test/ui/attributes/unix_sigpipe/auxiliary
8 files changed
+143
-79
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
3 | 11 |
| |
4 | 12 |
| |
5 | 13 |
| |
| |||
15 | 23 |
| |
16 | 24 |
| |
17 | 25 |
| |
18 | - | ||
19 | - | ||
20 | - | ||
21 | - | ||
22 | - | ||
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
89 | 89 |
| |
90 | 90 |
| |
91 | 91 |
| |
92 | - | ||
92 | + | ||
93 | 93 |
| |
94 | 94 |
| |
95 | 95 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
163 | 163 |
| |
164 | 164 |
| |
165 | 165 |
| |
166 | + | ||
166 | 167 |
| |
167 | 168 |
| |
168 | 169 |
| |
169 | 170 |
| |
170 | 171 |
| |
171 | - | ||
172 | - | ||
173 | - | ||
174 | - | ||
172 | + | ||
173 | + | ||
174 | + | ||
175 | + | ||
176 | + | ||
175 | 177 |
| |
176 | 178 |
| |
179 | + | ||
180 | + | ||
181 | + | ||
182 | + | ||
183 | + | ||
184 | + | ||
185 | + | ||
186 | + | ||
177 | 187 |
| |
178 | 188 |
| |
179 | 189 |
| |
180 | 190 |
| |
181 | 191 |
| |
182 | 192 |
| |
183 | 193 |
| |
194 | + | ||
195 | + | ||
196 | + | ||
197 | + | ||
198 | + | ||
199 | + | ||
200 | + | ||
201 | + | ||
202 | + | ||
203 | + | ||
204 | + | ||
205 | + | ||
206 | + | ||
207 | + | ||
208 | + | ||
209 | + | ||
210 | + | ||
211 | + | ||
212 | + | ||
213 | + | ||
184 | 214 |
| |
185 | 215 |
| |
186 | 216 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
39 | 39 |
| |
40 | 40 |
| |
41 | 41 |
| |
42 | + | ||
42 | 43 |
| |
43 | 44 |
| |
44 | 45 |
| |
45 | 46 |
| |
47 | + | ||
46 | 48 |
| |
47 | 49 |
| |
48 | 50 |
| |
|
Lines changed: 46 additions & 33 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
31 | 31 |
| |
32 | 32 |
| |
33 | 33 |
| |
34 | - | ||
35 | - | ||
36 | - | ||
37 | - | ||
38 | - | ||
39 | - | ||
40 | - | ||
41 | - | ||
42 | - | ||
43 | - | ||
44 | - | ||
45 | - | ||
46 | - | ||
47 | - | ||
48 | - | ||
49 | - | ||
50 | - | ||
51 | - | ||
52 | - | ||
53 | - | ||
54 | - | ||
55 | - | ||
56 | - | ||
57 | - | ||
58 | - | ||
59 | - | ||
60 | - | ||
61 | - | ||
62 | - | ||
63 | - | ||
64 | - | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | ||
43 | + | ||
44 | + | ||
45 | + | ||
46 | + | ||
47 | + | ||
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | ||
52 | + | ||
53 | + | ||
54 | + | ||
55 | + | ||
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | ||
64 | + | ||
65 | + | ||
66 | + | ||
67 | + | ||
68 | + | ||
69 | + | ||
70 | + | ||
65 | 71 |
| |
66 | - | ||
67 | - | ||
68 | 72 |
| |
73 | + | ||
74 | + | ||
75 | + | ||
76 | + | ||
77 | + | ||
78 | + | ||
79 | + | ||
80 | + | ||
81 | + | ||
69 | 82 |
| |
70 | 83 |
| |
71 | 84 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
5 | - | ||
6 | 5 |
| |
7 | 6 |
| |
8 | 7 |
| |
| |||
310 | 309 |
| |
311 | 310 |
| |
312 | 311 |
| |
313 | - | ||
312 | + | ||
314 | 313 |
| |
315 | 314 |
| |
316 | 315 |
| |
| |||
326 | 325 |
| |
327 | 326 |
| |
328 | 327 |
| |
329 | - | ||
330 | - | ||
331 | - | ||
332 | - | ||
333 | - | ||
334 | - | ||
335 | - | ||
336 | - | ||
337 | - | ||
338 | - | ||
339 | - | ||
340 | - | ||
341 | - | ||
342 | - | ||
343 | - | ||
344 | - | ||
345 | - | ||
346 | - | ||
347 | - | ||
348 | - | ||
349 | - | ||
350 | - | ||
351 | - | ||
352 | - | ||
328 | + | ||
329 | + | ||
330 | + | ||
331 | + | ||
332 | + | ||
333 | + | ||
334 | + | ||
335 | + | ||
336 | + | ||
337 | + | ||
338 | + | ||
339 | + | ||
340 | + | ||
341 | + | ||
342 | + | ||
343 | + | ||
344 | + | ||
345 | + | ||
346 | + | ||
347 | + | ||
353 | 348 |
| |
354 | 349 |
| |
355 | 350 |
| |
| |||
411 | 406 |
| |
412 | 407 |
| |
413 | 408 |
| |
414 | - | ||
409 | + | ||
415 | 410 |
| |
416 | 411 |
| |
417 | 412 |
| |
| |||
531 | 526 |
| |
532 | 527 |
| |
533 | 528 |
| |
534 | - | ||
535 | - | ||
536 | - | ||
537 | - | ||
538 | - | ||
529 | + | ||
530 | + | ||
531 | + | ||
532 | + | ||
533 | + | ||
534 | + | ||
535 | + | ||
536 | + | ||
537 | + | ||
538 | + | ||
539 | + | ||
540 | + | ||
541 | + | ||
542 | + | ||
543 | + | ||
544 | + | ||
545 | + | ||
539 | 546 |
| |
540 | - | ||
541 | 547 |
| |
542 | 548 |
| |
543 | 549 |
| |
|
Lines changed: 9 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
36 | 36 |
| |
37 | 37 |
| |
38 | 38 |
| |
39 | - | ||
39 | + | ||
40 | 40 |
| |
41 | 41 |
| |
42 | 42 |
| |
| |||
52 | 52 |
| |
53 | 53 |
| |
54 | 54 |
| |
55 | + | ||
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | + |
Lines changed: 4 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 | - | ||
26 | + | ||
27 | 27 |
| |
28 | 28 |
| |
29 | - | ||
29 | + | ||
30 | + | ||
31 | + | ||
30 | 32 |
| |
31 | 33 |
|
0 commit comments