Linux中Posix信号量的源代码位置

4
我已经开始学习操作系统中的信号量概念。我在linux中使用POSIX信号量。我使用sem_init(),sem_wait()和sem_post()来初始化、减少和增加信号量变量。
我看到semaphore.h文件中给出了函数声明。
但是我找不到这些函数的源代码。我已经研究了一些内核源代码文件,但是我找不到它们。我应该从哪里获取这些源代码文件?
我正在使用linux 3.6.11-4 内核。
谢谢。

1
看一下glibc源代码:它实现了POSIX C接口,并仅在必要时将系统调用传递到内核。例如,sem_init.c - Useless
1个回答

4
与旧版"SysV IPC"信号量(semctlsemop等)不同,POSIX信号量API并非直接由内核实现。相反,C库在futex通用同步原语之上实现它。
您要查找的代码位于GNU libc源代码树的nptl子目录中。您可能还需要在sysdeps中进行挖掘以找到所有内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接