-
ea2c6673
by Teo Camarasu at 2025-07-08T13:24:43-04:00
Implement user-defined allocation limit handlers
Allocation Limits allow killing a thread if they allocate more than a
user-specified limit.
We extend this feature to allow more versatile behaviour.
- We allow not killing the thread if the limit is exceeded.
- We allow setting a custom handler to be called when the limit is exceeded.
User-specified allocation limit handlers run in a fresh thread and are passed
the ThreadId of the thread that exceeded its limit.
We introduce utility functions for getting and setting the allocation
limits of other threads, so that users can reset the limit of a thread
from a handler. Both of these are somewhat coarse-grained as we are
unaware of the allocations in the current nursery chunk.
We provide several examples of usages in testsuite/tests/rts/T22859.hs
Resolves #22859
-
03e047f9
by Simon Hengel at 2025-07-08T13:25:25-04:00
Fix typo in using.rst
-
88c29ea8
by Simon Hengel at 2025-07-09T18:14:24+07:00
Refactoring
-
6b013ef3
by Simon Hengel at 2025-07-09T21:31:52+07:00
Include the rendered message in -fdiagnostics-as-json output
This implements #26173.