Как реализована функция 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 ответ

Решение

Используется для статического анализа.

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

Другие вопросы по тегам