- log_error("Failed to add event on epoll fd:%d for fd:%d: %s",
- epoll_fd, fd, strerror(-r));
- return r;
-}
-
-static int set_nocloexec(int fd) {
- int flags;
-
- flags = fcntl(fd, F_GETFD);
- if (flags < 0) {
- log_error("Querying flags for fd:%d: %m", fd);
- return -errno;
- }
-
- if (!(flags & FD_CLOEXEC))
- return 0;
-
- if (fcntl(fd, F_SETFD, flags & ~FD_CLOEXEC) < 0) {
- log_error("Settings flags for fd:%d: %m", fd);
- return -errno;
- }
-
- return 0;
-}
-
-static int print_socket(const char* desc, int fd) {
- int r;
- SocketAddress addr = {
- .size = sizeof(union sockaddr_union),
- .type = SOCK_STREAM,
- };
- int family;
-
- r = getsockname(fd, &addr.sockaddr.sa, &addr.size);
- if (r < 0) {
- log_warning("Failed to query socket on fd:%d: %m", fd);
- return 0;
- }
-
- family = socket_address_family(&addr);
- switch(family) {
- case AF_INET:
- case AF_INET6: {
- char* _cleanup_free_ a = NULL;
- r = socket_address_print(&addr, &a);
- if (r < 0)
- log_warning("socket_address_print(): %s", strerror(-r));
- else
- log_info("%s %s address %s",
- desc,
- family == AF_INET ? "IP" : "IPv6",
- a);
- break;
- }
- default:
- log_warning("Connection with unknown family %d", family);
- }