+ }
+ if (ipv6_only >= 0 &&
+ setsockopt(l, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6_only, sizeof(ipv6_only)))
+ {
+ yaz_log(YLOG_FATAL|YLOG_ERRNO, "setsockopt IPV6_V6ONLY %s %d", addr,
+ ipv6_only);
+ freeaddrinfo(ai);
+ CLOSESOCKET(l);
+ return 1;
+ }
+ if (setsockopt(l, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)))
+ {
+ yaz_log(YLOG_FATAL|YLOG_ERRNO, "setsockopt SO_REUSEADDR %s", addr);
+ freeaddrinfo(ai);
+ CLOSESOCKET(l);
+ return 1;
+ }
+ if (bind(l, ai->ai_addr, ai->ai_addrlen) < 0)