diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-04-03 10:48:14 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-09-19 15:09:51 -0400 |
commit | f47aa584a8b447d8225fc5b09afb2d1fe6764c1d (patch) | |
tree | 8d767aa62d2415e555f49b3217f876afed39c310 /firmware/export/config.h | |
parent | ecfec3e9bf9178299cb0fe64bd530a81e10b1142 (diff) | |
download | rockbox-f47aa584a8b447d8225fc5b09afb2d1fe6764c1d.tar.gz rockbox-f47aa584a8b447d8225fc5b09afb2d1fe6764c1d.zip |
buflib: add pin/unpin operation
An allocation is pinned by calling buflib_pin() to up its pin count.
The pin count is like a reference count: when above 0, buflib won't
move the allocation and won't call its move callbacks. This makes it
safe to hold the pointer returned by buflib_get_data() across yields
or allocations.
Note that pinned allocations can still shrink because there are some
use cases where this would be valid, if buffer users coordinate with
the shrink callback.
Change-Id: I0d0c2a8ac7d891d3ad6b3d0eb80c5b5a1b4b9a9d
Diffstat (limited to 'firmware/export/config.h')
0 files changed, 0 insertions, 0 deletions