mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-24 05:01:03 +02:00
locking: Introduce __cleanup() based infrastructure
Use __attribute__((__cleanup__(func))) to build: - simple auto-release pointers using __free() - 'classes' with constructor and destructor semantics for scope-based resource management. - lock guards based on the above classes. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20230612093537.614161713%40infradead.org
This commit is contained in:
@@ -343,4 +343,9 @@ static inline void smp_mb__after_srcu_read_unlock(void)
|
||||
/* __srcu_read_unlock has smp_mb() internally so nothing to do here. */
|
||||
}
|
||||
|
||||
DEFINE_LOCK_GUARD_1(srcu, struct srcu_struct,
|
||||
_T->idx = srcu_read_lock(_T->lock),
|
||||
srcu_read_unlock(_T->lock, _T->idx),
|
||||
int idx)
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user