Posix Semaphores在linux中的源代码位置

时间:2015-06-17 13:10:41

标签: c linux operating-system kernel

我已经开始在操作系统中学习信号量概念。 我在linux中使用POSIX信号量。我使用sem_init(),sem_wait()和sem_post()来初始化,递减和递增信号量变量。

我见过semaphore.h文件中给出的函数声明。

但我无法找到上述功能的源代码。我已经浏览了一些内核源文件但我无法找到它们。我从哪里可以获得这些源代码文件?

我正在使用linux 3.6.11-4内核。

感谢。

1 个答案:

答案 0 :(得分:3)

与较旧的"SysV IPC"信号量(semctlsemop等)不同,POSIX信号量API不是由内核直接实现的。相反,C库在futex通用同步原语之上实现它。

您要查找的代码位于GNU libc源代码树的nptl子目录中。您可能还需要在sysdeps中进行挖掘才能找到所有内容。