编程接口指南

重新绑定内存段

重新绑定操作可释放导出段的当前后备存储。释放导出段的当前后备存储之后,重新绑定操作将分配新的后备存储。应用程序必须首先获取分配给段的新虚拟内存。此操作对于段的导入者是透明的。


注 –

应用程序负责防止在重新绑定操作完成之前对段数据进行访问。重新绑定过程中从段中检索数据不会导致系统故障,但执行此类操作的结果是不确定的。


重新绑定段

int rsm_memseg_export_rebind(rsm_memseg_export_handle_t memseg, void *vaddr, offset_t off, size_t size);

返回值:如果成功,则返回 0。否则返回错误值。

RSMERR_BAD_SEG_HNDL

段句柄无效

RSMERR_BAD_LENGTH

长度无效

RSMERR_BAD_ADDR

地址无效

RSMERR_REBIND_NOT_ALLOWED

不允许重新绑定

RSMERR_NOT_CREATOR

不是段的创建者

RSMERR_PERM_DENIED

权限被拒绝

RSMERR_INSUFFICIENT_MEM

内存不足

RSMERR_INSUFFICIENT_RESOURCES

资源不足

RSMERR_INTERRUPTED

操作被信号中断