Как реализована функция do_raw_spin_lock в linux
Пока отладочная проблема паники перешла в спинлок, я наткнулся на это определение спин блокировки в
включают в себя / 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);
}
Пожалуйста, помогите мне, как такие декларации декодируются и работают.
1 ответ
Решение
Используется для статического анализа.