mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* socket/sys/socket.h: Declare accept4.
* socket/accept4.c: New file. * sysdeps/unix/sysv/linux/accept4.c: New file. * sysdeps/unix/sysv/linux/i386/accept4.S: New file. * socket/Makefile (routines): Add accept4. * socket/Versions: Export accept4 with version GLIBC_2.10. * socket/paccept.c: Removed. * sysdeps/unix/sysv/linux/paccept.c: Removed. * sysdeps/unix/sysv/linux/i386/paccept.S: Removed. * Versions.def: Define GLIBC_2.10 for libc. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4. * nscd/connections.c: Use accept4. * sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.
This commit is contained in:
@ -27,7 +27,7 @@ headers := sys/socket.h sys/un.h bits/sockaddr.h bits/socket.h \
|
||||
routines := accept bind connect getpeername getsockname getsockopt \
|
||||
listen recv recvfrom recvmsg send sendmsg sendto \
|
||||
setsockopt shutdown socket socketpair isfdtype opensock \
|
||||
sockatmark
|
||||
sockatmark accept4
|
||||
|
||||
aux := have_sock_cloexec
|
||||
|
||||
|
@ -31,4 +31,7 @@ libc {
|
||||
# Addition from P1003.1-200x
|
||||
sockatmark;
|
||||
}
|
||||
GLIBC_2.10 {
|
||||
accept4;
|
||||
}
|
||||
}
|
||||
|
@ -23,21 +23,20 @@
|
||||
When a connection arrives, open a new socket to communicate with it,
|
||||
set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting
|
||||
peer and *ADDR_LEN to the address's actual length, and return the
|
||||
new socket's descriptor, or -1 for errors. SS is installed as
|
||||
the thread's signal mask and FLAGS are additional flags. */
|
||||
new socket's descriptor, or -1 for errors. The operation can be influenced
|
||||
by the FLAGS parameter. */
|
||||
int
|
||||
paccept (fd, addr, addr_len, ss, flags)
|
||||
accept4 (fd, addr, addr_len, flags)
|
||||
int fd;
|
||||
__SOCKADDR_ARG addr;
|
||||
socklen_t *addr_len;
|
||||
const __sigset_t *ss;
|
||||
int flags;
|
||||
{
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
libc_hidden_def (paccept)
|
||||
libc_hidden_def (accept4)
|
||||
|
||||
|
||||
stub_warning (paccept)
|
||||
stub_warning (accept4)
|
||||
#include <stub-tag.h>
|
@ -214,6 +214,15 @@ extern int listen (int __fd, int __n) __THROW;
|
||||
extern int accept (int __fd, __SOCKADDR_ARG __addr,
|
||||
socklen_t *__restrict __addr_len);
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Similar to 'accept' but takes an additional parameter to specify flags.
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
extern int accept4 (int __fd, __SOCKADDR_ARG __addr,
|
||||
socklen_t *__restrict __addr_len, int __flags);
|
||||
#endif
|
||||
|
||||
/* Shut down all or part of the connection open on socket FD.
|
||||
HOW determines what to shut down:
|
||||
SHUT_RD = No more receptions;
|
||||
|
Reference in New Issue
Block a user