博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uv_timer_t的释放问题
阅读量:4633 次
发布时间:2019-06-09

本文共 449 字,大约阅读时间需要 1 分钟。

项目中的计时器模块是用libuv做的,今天发现了点问题,是释放uv_timer_t引起了,我是在uv_timer_start的回调里释放该结构的,这里是不能释放了,因为回调完后,库还会使用uv_timer_t里的数据,之前没出问题,是恰好这个内存还没有被使用,其数据还没被破坏。正确的释放时机,是再调用uv_close,在close的回调里释放它。我猜想uv_handle_t族安全释放的时机应该都是uv_close里,还需阅读源码确认。

ps:上文不对,timer的回调里可以释放uv_timer_t的内存,不影响任何使用,只是会造成uv_loop_t::handle_queue里有一个指针的泄露,因为uv_timer_t是uv_handle_t族,uv_handle_t在init时会被加入uv_loop_t::handle_queue,只有手动调用uv_close才会从哪里删除。

转载于:https://www.cnblogs.com/watercoldyi/p/5738921.html

你可能感兴趣的文章
cocos2d-x 3.10 PageView BUG
查看>>
装饰器的基本使用:用户登录
查看>>
CSS选择器总结
查看>>
第三周-第08章节-Python3.5-文件修改详解
查看>>
npm修改淘宝原
查看>>
通过代理进行页面传值
查看>>
Vue-Resource请求PHP数据失败的原因
查看>>
搭建vue.js环境
查看>>
《xxx系统》分析
查看>>
/var/run/utmp文件操作函数
查看>>
经1503 20151453 张开拓
查看>>
web.py下获取get参数
查看>>
软件缺陷处理流程
查看>>
Docker - Install docker on CentOS
查看>>
ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法
查看>>
牛客网 二进制数
查看>>
vim中如何按一个键就保存文件
查看>>
scapy windows install
查看>>
Pandoc PDF 中文
查看>>
Eclipse使用Maven建立SSM多模块的项目
查看>>