where to find select() source code in glibc source

2019-01-20 05:27发布

i am trying to find the select() source code (linux, i386 arch) in the glibc source code, but i cannot find anything (related to the said architecture)

Could anybody point me to the select() source code ?

2条回答
走好不送
2楼-- · 2019-01-20 05:37

mh's answer is pretty good, but I will try to be more specific:

select is Linux system call, not libc function. It's source code could be found here.

libc has only wrapper for calling (executing) linux system call. Wrapper for select syscall is created on the fly at build time, because select is in syscalls.list file.

查看更多
神经病院院长
3楼-- · 2019-01-20 05:52

select() is not a function of the libc, but a kernel function, so you need to take a look into the kernel source.

You can tell this by looking into the man page: If it is in section 2, it's a kernel function, if it's in section 3, it's a function of the standard C library, in your case the glibc.

Edit: Like some other people remarked correctly (thank you!), a function described in section 2 is officially called a system call and it is actually a call to a library that wraps the operating system's actual call interface.

查看更多
登录 后发表回答