【SylixOS之进程资源回收机制】

      SylixOS在正常消亡时会回收与此进程所占用的相关资源,包括打开的文件fd、事件、事件组、posix命名信号量、定时器、RMS等。相关代码见libsylixos/SylixOS/kernel/resource/resourceLib.c:__resPidReclaim()。

      此函数通过遍历对应的资源缓冲数组,搜索是否存在此进程PID占用的资源,如果存在则回收此资源。比如回收定时器资源会遍历数组_G_reshTimerBuffer[],若发现占用情况,调用API_TimerDelete()删除资源,如下图所示。

       资源缓冲数组中的数据则是在资源创建时通过调用资源创建回调函数(LW_OPTION_OBJECT_CREATE_HOOK)被添加的。

      例如在API_TimerCreate()中会在函数最后调用资源添加回调函数,如图:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stone8761

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值