发新话题
打印

可否中断原子操作

可否中断原子操作

原子操作的本来是说明该操作要么完成要么压根就不作,但是看了atomic_inc_and_test的代码,我确感觉着实际上应该是有问题的 。定义:
static __inline__ int atomic_inc_and_test(atomic_t *v)
{
        unsigned char c;

        __asm__ __volatile__(
                LOCK_PREFIX "incl %0; sete %1"
                :"+m" (v->counter), "=qm" (c)
                : : "memory");
        return c != 0;
}
此时如果在执行完"incl %0,""之后,如果此时发生中断,那么是不是会出现内核不一致的现象呢。太困扰了。谢谢
发新话题