13 Commits

Author SHA1 Message Date
Mitchell Hashimoto
9409e3072f apprt/gtk: remove usingnamespace 2024-08-16 14:58:04 -07:00
Mitchell Hashimoto
a158a1d45f os: unify memory/processes cgroup limiting func 2024-08-11 15:37:54 -07:00
Christian Kugler
ba41f142ed Add Config Option to Limit Number of Processes
To protect your system and ghostty from misbehaving programs that launch
too many processes for the system to handle (e.g. like a fork bomb),
this implements an option to limit the number of processes that can be
started in a surface.

A fork bomb for example or other misbehaving program would then only
take down one surface and not the entire system.

Side node:
If I am right in issue #2084, this feature does not actually work on a
per surface basis but on all surfaces. If this is the case, it could
probably be fixed together. Chances are, that I am wrong though 😉

Further improvements that could be done:
- unify way to set cgroup attributes
- set sane default: 10% of system max?
2024-08-11 23:37:57 +02:00
Mitchell Hashimoto
dda6a22ea9 apprt/gtk: cgroup hierarchy only affects surfaces 2024-06-05 10:42:43 -07:00
Mitchell Hashimoto
99d567274b config: add cgroup memory limit config 2024-06-05 10:27:53 -07:00
Mitchell Hashimoto
a63c8d0913 termio: plumb a lot more to get ready to move into cgroup 2024-06-05 09:25:36 -07:00
Mitchell Hashimoto
1285b4f243 apprt/gtk: store transient cgroup 2024-06-04 21:10:42 -07:00
Mitchell Hashimoto
01bfce0981 os: cgroup can set memory limits 2024-06-04 21:02:25 -07:00
Mitchell Hashimoto
d351e80158 os: cgroup create/move 2024-06-04 20:22:17 -07:00
Mitchell Hashimoto
bbe525c964 os: API to configure cgroup controllers 2024-06-04 19:36:48 -07:00
Mitchell Hashimoto
b5c4d2f60d os: rename linux => cgroup 2024-06-04 19:28:12 -07:00
Mitchell Hashimoto
c0b061edd9 os: API for listing cgroup controllers 2024-06-04 19:23:18 -07:00
Mitchell Hashimoto
409c958b7e apprt/gtk: cgroup initialization 2024-06-04 18:59:44 -07:00