- 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);
+ fd = socket_address_listen(&a, flags, SOMAXCONN, SOCKET_ADDRESS_DEFAULT, NULL, false, false, 0755, 0644, NULL);
+ if (fd < 0) {
+ log_error("Failed to listen: %s", strerror(-r));
+ return fd;