yield multi aff用例 在times为3的时候 thread0执行完yield之后被调度,此时执行thread1。由于调度又重新调度到thread0,调用usys exit,导致thread0 cap为invalid,此时再调度回thread1,usys set affinity会失败
yang 你的思路是对的,这里usys set affinity失败是“正常”的,应该返回errno。由于测试程序没有检查返回值,所以整个用例还是能正常执行的。
dongzy 好吧...因为我看到代码里面有判断线程是否为null,所以我也加了BUG_ON(thread==NULL)导致过不了...