【发布时间】:2013-05-23 20:59:29
【问题描述】:
wait_event_timeout 可用于让线程休眠指定时间或直到某些条件变为真。
我面临这种情况是共享变量的情况。
ret = wait_event_timeout(SLEEP_Q,shared_vaible == 1,TIME_TO_SLEEP);
在调用它之前,我必须放弃用于访问共享变量的spinlock。
所以我的问题是,由于共享变量是在不使用锁的情况下读取的,因此正确性是否会受到影响?
内核是否确保wait_event 接口中的此类条件不存在竞争条件?
【问题讨论】:
标签: linux linux-kernel race-condition kernel