1

スピンロックに関連するパニックの問題をデバッグしているときに、このスピンロックの定義に出くわしました

インクルード/linux/spinlock.h

. この定義を理解するのはかなり難しいです。関数__acquires(lock)の後に使用されるのはなぜですか? do_raw_spin_lockそのような宣言の意味は何ですか?

static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock)
{
        __acquire(lock);
        arch_spin_lock(&lock->raw_lock);
}

そのような宣言がどのようにデコードされ、機能するかを助けてください。

4

1 に答える 1

1

静的分析に使用されます。

http://en.wikipedia.org/wiki/Sparse

于 2013-05-03T09:47:58.247 に答える