首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是什么语法?(tty_write_unlock)

这是什么语法?(tty_write_unlock)
EN

Stack Overflow用户
提问于 2013-09-05 11:44:53
回答 3查看 76关注 0票数 1

当我阅读tty_io.c时,我看到了这个定义。这个__releases()是什么意思?

代码语言:javascript
复制
void tty_write_unlock(struct tty_struct *tty)
    __releases(&tty->atomic_write_lock)
{
    mutex_unlock(&tty->atomic_write_lock);
    wake_up_interruptible_poll(&tty->write_wait, POLLOUT);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-05 11:46:34

它是一个预处理宏,最终生成一个附加于函数的属性,以向编译器或其他工具提供有关它的详细信息。

下面是compiler.h中对linux内核的定义(很明显,这就是您所看到的):

代码语言:javascript
复制
# define __releases(x)  __attribute__((context(x,1,0)))

它在ifdef __CHECKER__内部,根据到这个维基百科页面的说法,这意味着静态分析器“稀疏”使用它。

票数 0
EN

Stack Overflow用户

发布于 2013-09-05 11:51:06

显然 __releases__acquires是Linux编译器.h头中定义的两个宏,它们与稀疏静态检查器一起使用,用于计数已释放和获得的锁(以确保它们是平衡的)。

票数 2
EN

Stack Overflow用户

发布于 2013-09-05 11:50:49

稀疏使用的预处理宏

稀疏是一种用于查找Linux内核中可能的编码错误的计算机软件工具。

如果您查看wiki页面,您会发现在linux的某个头文件中,__releases__attribute__ GCC扩展名所取代。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18635425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档