gpt4 book ai didi

c - SPIN_LOCK_UNLOCKED 的 Linux 3.16 等价物是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:42 24 4
gpt4 key购买 nike

这是我为 2.x 内核编写的内核模块中的一行。

static spinlock_t mr_lock = SPIN_LOCK_UNLOCKED;

当我尝试为 3.16 内核编译此模块时,出现以下构建错误。

error: ‘SPIN_LOCK_UNLOCKED’ undeclared here (not in a function)

当我查看linux/spinlock_types.h的3.16版本时,它为这个内核定义了 spinlock_t 类型,确实没有 SPIN_LOCK_UNLOCKED 常量了。

然而,目前还不清楚如何为这个内核初始化一个自旋锁以解锁。

实现相同初始化的正确方法是什么?

最佳答案

这取决于您如何使用它。

#define DEFINE_SPINLOCK(x)    spinlock_t x = __SPIN_LOCK_UNLOCKED(x)

to replace code like:

spinlock_t init_lock = SPIN_LOCK_UNLOCKED;

with the improved:

DEFINE_SPINLOCK(init_lock);

我从上面拿走了

https://www.mail-archive.com/kernelnewbies@nl.linux.org/msg02836.html

关于c - SPIN_LOCK_UNLOCKED 的 Linux 3.16 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36413864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com