当前位置: 技术问答>linux和unix
linux中的自旋锁相关的宏的源代码的疑问
来源: 互联网 发布时间:2015-03-29
本文导语: 下面使linux中读写自旋锁的部分相关宏的源代码: #define rwlock_init(lock) do{}while(0) #define read_lock(lock) (void)(lock)/*Not "unused variable"*/ #define read_unlock(lock) do{}while(0) 第一和第三个宏只是死循环而已...
下面使linux中读写自旋锁的部分相关宏的源代码:
#define rwlock_init(lock) do{}while(0)
#define read_lock(lock) (void)(lock)/*Not "unused variable"*/
#define read_unlock(lock) do{}while(0)
第一和第三个宏只是死循环而已,第二个宏更是莫能名其妙。
望熟悉linux源代码高手指点,为什么这样的代码能起到自旋锁的作用
#define rwlock_init(lock) do{}while(0)
#define read_lock(lock) (void)(lock)/*Not "unused variable"*/
#define read_unlock(lock) do{}while(0)
第一和第三个宏只是死循环而已,第二个宏更是莫能名其妙。
望熟悉linux源代码高手指点,为什么这样的代码能起到自旋锁的作用
|
do{}while(0)明明是只运行一次,然后就退出,哪有什么循环?
do{}while(1)才是死循环阿.
do{}while(0)只是一个空的初始化
do{}while(1)才是死循环阿.
do{}while(0)只是一个空的初始化
|
果然深奥,怎么看都是死循环
帮你up
帮你up
|
do里面肯定有跳出循环的条件。
cvsuser
cvsuser
|
do{}while(0)是死循环?
我倒!!
我倒!!
|
看一看