NK-*_*ell 2 c linux api void linux-kernel
我在 Linux 内核源代码中遇到了一些奇怪的(对我来说)代码。有xt_register_target()功能:
int xt_register_target(struct xt_target *target)
{
u_int8_t af = target->family;
mutex_lock(&xt[af].mutex);
list_add(&target->list, &xt[af].target);
mutex_unlock(&xt[af].mutex);
return 0;
}
EXPORT_SYMBOL(xt_register_target);
Run Code Online (Sandbox Code Playgroud)
这是一个 API 函数。因此,它返回的值似乎必须有一些明显的(对于 API 用户)原因。但是这个函数没有可变性——它总是返回 0。所以基本上它是void.
这种API编码模式的原因是什么?这是最佳实践还是错误?