accept4 -> accept

accept4(2) isn't part of any standard (even though it'll be part in
the future) and raises warnings on some linux distro.  Moreover, we
don't have thread that may fork at any time, so doing a mark_nonblock
after isn't a big deal.
This commit is contained in:
Omar Polo 2021-02-12 11:59:03 +00:00
parent 9356f61a63
commit 3cb3dd4d42
2 changed files with 4 additions and 1 deletions

View File

@ -153,6 +153,7 @@ sandbox()
#endif
SC_ALLOW(epoll_pwait),
SC_ALLOW(epoll_ctl),
SC_ALLOW(accept),
SC_ALLOW(accept4),
SC_ALLOW(read),
SC_ALLOW(openat),

View File

@ -980,12 +980,14 @@ do_accept(int sock, short et, void *d)
saddr = (struct sockaddr*)&addr;
len = sizeof(addr);
if ((fd = accept4(sock, saddr, &len, SOCK_NONBLOCK)) == -1) {
if ((fd = accept(sock, saddr, &len)) == -1) {
if (errno == EWOULDBLOCK || errno == EAGAIN)
return;
fatal("accept: %s", strerror(errno));
}
mark_nonblock(fd);
for (i = 0; i < MAX_USERS; ++i) {
c = &s->clients[i];
if (c->fd == -1) {