mirror of
https://github.com/RGBCube/serenity
synced 2025-10-24 00:22:30 +00:00
NoAllocationGuard is an RAII stack guard that prevents allocations while it exists. This is done through a thread-local global flag which causes malloc to crash on a VERIFY if it is false. The guard allows for recursion. The intended use case for this class is in real-time audio code. In such code, allocations are really bad, and this is an easy way of dynamically enforcing the no-allocations rule while giving the user good feedback if it is violated. Before real-time audio code is executed, e.g. in LibDSP, a NoAllocationGuard is instantiated. This is not done with this commit, as currently some code in LibDSP may still incorrectly allocate in real- time situations. Other use cases for the Kernel have also been added, so this commit builds on the previous to add the support both in Userland and in the Kernel. |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| forward.cpp | ||
| pthread.cpp | ||
| pthread.h | ||
| pthread_cond.cpp | ||
| pthread_once.cpp | ||
| semaphore.cpp | ||
| semaphore.h | ||