Loading include/linux/cleanup.h +8 −0 Original line number Diff line number Diff line Loading @@ -277,6 +277,14 @@ static inline class_##_name##_t class_##_name##ext##_constructor(_init_args) \ class_##_name##_t var __cleanup(class_##_name##_destructor) = \ class_##_name##_constructor #define scoped_class(_name, var, args) \ for (CLASS(_name, var)(args); \ __guard_ptr(_name)(&var) || !__is_cond_ptr(_name); \ ({ goto _label; })) \ if (0) { \ _label: \ break; \ } else /* * DEFINE_GUARD(name, type, lock, unlock): Loading Loading
include/linux/cleanup.h +8 −0 Original line number Diff line number Diff line Loading @@ -277,6 +277,14 @@ static inline class_##_name##_t class_##_name##ext##_constructor(_init_args) \ class_##_name##_t var __cleanup(class_##_name##_destructor) = \ class_##_name##_constructor #define scoped_class(_name, var, args) \ for (CLASS(_name, var)(args); \ __guard_ptr(_name)(&var) || !__is_cond_ptr(_name); \ ({ goto _label; })) \ if (0) { \ _label: \ break; \ } else /* * DEFINE_GUARD(name, type, lock, unlock): Loading