static int get_listen_socket()

in listener.c [120:137]


static int get_listen_socket(struct sockaddr_in6 *bindaddr)
{
	int fd, ret, optval = 1;

	fd = socket(AF_INET6, SOCK_DGRAM, 0);
	if (fd == -1)
		fatal("Couldn't get socket: %m\n");

	ret = setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval));
	if (ret == -1)
		fatal("Couldn't set SO_REUSEPORT on socket: %m\n");

	ret = bind(fd, bindaddr, sizeof(*bindaddr));
	if (ret == -1)
		fatal("Couldn't bind: %m\n");

	return fd;
}