标题:
关于ucos iii 3.07和3.08版本函数源码中的错误
[打印本页]
作者:
214771787
时间:
2021-9-10 16:22
标题:
关于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这个函数却没有
1.png
(64.54 KB, 下载次数: 12)
下载附件
2021-9-10 16:38 上传
在这种情况下将循环终止,这不是一个BUG,是一个比较严重的错误。
请各位,赐教
作者:
man1234567
时间:
2021-9-17 13:03
既然确定错了,改了就好。
发现比较严重的错误一般相当于中奖,建议成果发布到专业论坛上去。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1