Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
内存释放_free
dataqueue数据队列
dataqueue内存泄漏
发布于 2021-01-27 15:15:10 浏览:1599
订阅该版
“图-1”中,rt_data_queue_init()函数使用rt_malloc()动态分配内存;但是“图-2”中rt_data_queue_reset()函数只是resume在等待dataqueue的线程,并没有free内存(还有线程在使用当然不能free)。 例如stm32f4xx-HAL例程,如果使用该dataqueue的serial设备需要close,怎么释放rt_data_queue_init()函数里动态分配内存呢? “图-3”是rt_serial_open()函数代码段,调用rt_data_queue_init()初始化dataqueue;“图-4”是rt_serial_close()函数代码段,**772行代码会导致dataqueue内存泄漏**。 图-1 rt_data_queue_init()函数 ![1.png](https://oss-club.rt-thread.org/uploads/20210127/88e4c9dee5754854af0a1e5d1cd39f83.png) 图-2 rt_data_queue_reset()函数 ![2.png](https://oss-club.rt-thread.org/uploads/20210127/13e2fc279142242dc1291f92d941d332.png) 图-3 rt_serial_open()函数代码段 ![3.png](https://oss-club.rt-thread.org/uploads/20210127/d78d467e1ad9760fa06a86f7f740663c.png) 图-4 rt_serial_close()函数代码段 ![4.png](https://oss-club.rt-thread.org/uploads/20210127/94d1f53a579a701ba511116080a1d921.png)
查看更多
fubaojun2006
2021-02-04
哇(挖)~~坑~~~啊!
楼主,看到的代码确认是有问题的,我已经踩坑了。 另外,提问时,最好给出使用的RTT 版本。这样比较容易追踪 解决办法: 同步git 最新代码,最新代码里面这里有一些改变 ![dataqueue释放.png](https://oss-club.rt-thread.org/uploads/20210204/5a46fc3e5ec79f8f96eec1c4c5cd22bf.png) ![3bc4498b60c8ac9d170c0569afb89acf.png](https://oss-club.rt-thread.org/uploads/20210204/3bc4498b60c8ac9d170c0569afb89acf.png)
4
个回答
默认排序
按发布时间排序
bernard
2021-01-27
这家伙很懒,什么也没写!
是哪个地方调用了reset? 还是说,在serial close时的时候,需要把data queue整体关闭,移除释放掉?
xiecy906
2021-01-29
这家伙很懒,什么也没写!
没有大神交流交流!!!!!!!!!!!!!!!!!!!!!!!!!!
iamyhw
2021-01-30
这家伙很懒,什么也没写!
在rt_serial_close()中已经调用了 rt_data_queue_deinit(&(tx_dma->data_queue)); 这个就是扫尾的你说的地方
撰写答案
登录
注册新账号
关注者
0
被浏览
1.6k
关于作者
xiecy906
这家伙很懒,什么也没写!
提问
6
回答
2
被采纳
0
关注TA
发私信
相关问题
1
free a bad data block导致机器死机问题咨询
2
rt_free 返回plug_holes ASSERT错误
3
软件包ota_downloader的http_ota解析导致内存释放断言
4
关于rt_free 挂掉问题
5
对已删除的线程如何重新创建?
6
rt_free卡死问题!
7
rt_free释放内存错误
8
rt_free()处理片外的SRAM时会崩溃
9
RT-Thread Studio创建Nano项目,添加HEAP支持后,编译出错
10
内存使用如何查看 free命令查看的内存大小是否正确
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
搞懂rt-thread对STM32的GPIO操作
2
rt-thread 挂载romfs与ramfs
3
[Vision Board创客营]使用openmv识别阿尼亚
4
smart启动流程详解
5
小内存管理(1)--- 内存初始化
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
PWM
潘多拉开发板_Pandora
定时器
BSP
ADC
中断
flashDB
编译报错
socket
keil_MDK
GD32
msh
Debug
SFUD
MicroPython
ulog
SDIO总线
rt_mq_消息队列_msg_queue
本月问答贡献
小小李sunny
4
个答案
3
次被采纳
踩姑娘的小蘑菇
4
个答案
2
次被采纳
a1012112796
4
个答案
2
次被采纳
聚散无由
1
个答案
2
次被采纳
aeniac
4
个答案
1
次被采纳
本月文章贡献
Z_Y
2
篇文章
1
次点赞
聚散无由
1
篇文章
4
次点赞
zhuzhuzhu
1
篇文章
4
次点赞
踩姑娘的小蘑菇
1
篇文章
2
次点赞
Hlafklio
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部