Commit e0ec016
committed
app: Add respawn rate limiting to prevent CPU spinning
When a non-client app with AutoRestart enabled exits immediately after
starting, the restart logic would loop without delay, causing high CPU
usage. This adds a 60-second rate limit to gsm_app_restart. If an app
respawns twice within this window, the second restart is rejected.
The code is adapted from:
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/4df48234
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/b9aa675e
Fixes #3361 parent 6c53bde commit e0ec016
1 file changed
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
33 | 36 | | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
| 41 | + | |
38 | 42 | | |
39 | 43 | | |
40 | 44 | | |
| |||
522 | 526 | | |
523 | 527 | | |
524 | 528 | | |
| 529 | + | |
525 | 530 | | |
526 | 531 | | |
527 | 532 | | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
528 | 547 | | |
529 | 548 | | |
530 | 549 | | |
| |||
0 commit comments