XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
libxtos-rtxtos_rt_free_locked

xtos_rt_free_locked

解锁并释放由 xtos_rt_alloc_locked 返回的内存块。

本页目录

声明

c
#include <xtos/rt.h>

int xtos_rt_free_locked(void *address, size_t length);

参数

参数类型说明
addressvoid *alloc_locked 返回的原始非 NULL 指针。
lengthsize_t分配时使用的原始正字节数。

返回值

munlock 失败时返回 -1,否则返回 0;无论 munlock 是否成功都会调用 free。

错误

errno条件
EINVALaddress 为 NULL 或 length 为 0。
system errnomunlock 失败时返回其 errno,但内存仍已经释放。

注意事项

  • 只可传 alloc_locked 的原始块;不能传栈地址、子区间、重复释放或其他来源的指针。
  • 释放后地址立即失效;若返回 -1 也不能再次尝试释放同一地址。

示例

源码

本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。