找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1120|回复: 1
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
各位,最近将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这个函数却没有 在这种情况下将循环终止,这不是一个BUG,是一个比较严重的错误。


请各位,赐教
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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