где найти исходный код select () в исходном коде glibc? - PullRequest
1 голос
/ 15 июня 2011

Я пытаюсь найти исходный код select () (linux, i386 arch) в исходном коде glibc, но я не могу найти ничего (связанного с указанной архитектурой)

Может кто-нибудь указать мне на исходный код select ()?

Ответы [ 2 ]

5 голосов
/ 15 июня 2011
Ответ

mh довольно хороший, но я постараюсь быть более конкретным:

select - системный вызов Linux, а не функция libc.Его исходный код можно найти здесь .

В libc есть только оболочка для вызова (выполнения) системного вызова linux.Оболочка для select syscall создается на лету во время сборки, потому что select находится в файле syscalls.list.

3 голосов
/ 15 июня 2011

select () - это не функция libc, а функция ядра, поэтому вам нужно взглянуть на исходный код ядра.

Вы можете сказать это, заглянув на страницу руководства: если она находится в разделе 2, это функция ядра, если она находится в разделе 3, это функция стандартной библиотеки C, в вашем случае glibc.

Редактировать: Как и некоторые другие люди правильно отметили (спасибо!), Функция, описанная в разделе 2, официально называется системным вызовом , и на самом деле это вызов библиотеки, которая обертывает фактическую операционную систему. интерфейс вызова.

...