标题: 关于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这个函数却没有 在这种情况下将循环终止,这不是一个BUG,是一个比较严重的错误。


请各位,赐教

作者: man1234567    时间: 2021-9-17 13:03
既然确定错了,改了就好。
发现比较严重的错误一般相当于中奖,建议成果发布到专业论坛上去。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1