- Log_fatal("poll: error %d", errno);
- }
- if (pollfds[TCP_SOCK].revents) { /* New tcp connection */
- int tcpfd, flag = 1;
- uint32_t addrlen;
- addrlen = sizeof(struct sockaddr_in);
- tcpfd = accept(pollfds[TCP_SOCK].fd, (struct sockaddr*)&remote, &addrlen);
- fcntl(tcpfd, F_SETFL, O_NONBLOCK);
- setsockopt(tcpfd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));
- Log_debug("Connection from %s port %d\n", inet_ntoa(((struct sockaddr_in*)&remote)->sin_addr),
- ntohs(((struct sockaddr_in*)&remote)->sin_port));
- if (Client_add(tcpfd, &remote) < 0)
- close(tcpfd);