Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
POSIX
rtthread4.03
select
串口接收使用select后,偶发线程挂起了无法超时恢复
发布于 2023-10-18 09:29:39 浏览:317
订阅该版
![阻塞在这里](https://oss-club.rt-thread.org/uploads/20231018/8c2b695d51d73a1a52c9b64c8a769453.png) 使用时发现偶发有个线程卡死,加了日志打印,发现在某次接收的时候在这里面卡住了。 目前的临时解决办法就是每次接收完之后加个定时器,超时后就使用rt_thread_resume恢复线程来临时解决卡住的问题。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231018/8cda9701b8e6cd9b921f732fd3857d24.png) 看了select的实现,没看出来为啥会一直阻塞。。
查看更多
1
个回答
默认排序
按发布时间排序
出出啊
2023-10-18
恃人不如自恃,人之为己者不如己之自为也
在 `rt_thread_resume(m_selfThread);` 之前打印一下线程的 `list.prev` `list.next` `tlist.prev` `tlist.next` 等几个链表指针的值,重点是后俩是不是都指向了它自己。 https://gitee.com/thewon/od_cmds/blob/master/od_cmds.c 这里有个专门的工具可以查看更多详细信息。 进入 `select` 阻塞挂起,多半是被某个 ipc 对象阻塞挂起了。这个时候是可以通过 `od_thread` 函数调用打印出来被哪个 ipc 对象挂起了的。 如果 `select` 超时没退出返回,要么是 ipc 机制失灵了,要么是,超时时间到了以后,线程从 ipc 对象等待列表上摘下来,然后还没来得及恢复到就绪线程列表上,中间被某件任务调度打断,这个时候 `tlist.prev` `tlist.next` 都指向了 `tlist` 自己。由此可以辨别出问题在哪儿。 但是,如果真的出现这种情况,问题就比较严重了,说明任务调度出现漏洞了
撰写答案
登录
注册新账号
关注者
0
被浏览
317
关于作者
这是个昵称
这家伙很懒,什么也没写!
提问
1
回答
0
被采纳
0
关注TA
发私信
相关问题
1
移植rt-thread2.1.0缺少components/pthreads里的posix_types.h文件中包含的sy
2
[征集自愿者] POSIX相关章节文档编写
3
RT-Thread POSIX支持
4
POSIX标准接口针对文件系统没有导出fsync
5
POSIX接口的select还没实现?
6
pthread 组建bug反馈
7
RTT中的POSIX支持
8
RT-Thread 如何用POSIX接口
9
使用 RT_USING_POSIX finsh能显示,但不能输入
10
请教、讨论POSIX接口、dfs中的pos和size问题
推荐文章
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
mcxn947 dht11温湿度采集
2
【24嵌入式设计大赛】基于RT-Thread星火1号的AI广告终端设计
3
基于stm32f407 芯片创建 rt-thread工程——使用Arduino兼容层RTduino
4
星火1号:CAN通信初步
5
【24嵌入式设计大赛】基于RT-Thread火星一号智能终端采集系统
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
文件系统
DMA
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
I2C_IIC
WIZnet_W5500
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
中断
flashDB
socket
Debug
GD32
编译报错
msh
keil_MDK
at_device
MicroPython
rt_mq_消息队列_msg_queue
ulog
C++_cpp
本月问答贡献
出出啊
1513
个答案
341
次被采纳
小小李sunny
1438
个答案
289
次被采纳
张世争
775
个答案
167
次被采纳
crystal266
546
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部