where to find select() source code in glibc source

2019-01-20 05:24发布

问题:

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 ?

回答1:

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.



回答2:

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.