mirror of https://github.com/omar-polo/gmid.git
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:
parent
9356f61a63
commit
3cb3dd4d42
|
@ -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),
|
||||
|
|
4
server.c
4
server.c
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue