xtos_ rt_ free_ locked
解锁并释放由 xtos_rt_alloc_locked 返回的内存块。
本页目录
声明
#include <xtos/rt.h>
int xtos_rt_free_locked(void *address, size_t length);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| address | void * | alloc_locked 返回的原始非 NULL 指针。 |
| length | size_t | 分配时使用的原始正字节数。 |
返回值
munlock 失败时返回 -1,否则返回 0;无论 munlock 是否成功都会调用 free。
错误
| errno | 条件 |
|---|---|
| EINVAL | address 为 NULL 或 length 为 0。 |
| system errno | munlock 失败时返回其 errno,但内存仍已经释放。 |
注意事项
- 只可传 alloc_locked 的原始块;不能传栈地址、子区间、重复释放或其他来源的指针。
- 释放后地址立即失效;若返回 -1 也不能再次尝试释放同一地址。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。