找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1127|回复: 1
收起左侧

关于ucos iii 3.07和3.08版本函数源码中的错误

[复制链接]
ID:965311 发表于 2021-9-10 16:22 | 显示全部楼层 |阅读模式
各位,最近将ucos 3.07和 ucos 3.08的源码读了一遍,发现互斥量函数里一个比较严重的错误?我不知道是我没理解透还是说真的是错误,一块讨论一下。互斥量删除函OSMutexDel调用了优先级改变函数OS_TaskChangePrio,但是这个OS_TaskChangePrio在处理一种情况时却错了。


简单来说,假如任务A拥有互斥量1,任务B拥有互斥量2.任务A阻塞在2上。那么此时如果把互斥量1删除了,A的优先级有可能降,A的降低有可能会对B产生影响,那么如果B的优先级高于A的优先级,这个时候B的优先级是不用调整的。但是OS_TaskChangePrio这个函数却没有 1.png 在这种情况下将循环终止,这不是一个BUG,是一个比较严重的错误。


请各位,赐教
回复

使用道具 举报

ID:584814 发表于 2021-9-17 13:03 | 显示全部楼层
既然确定错了,改了就好。
发现比较严重的错误一般相当于中奖,建议成果发布到专业论坛上去。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表