blob: ab7788b2a4393514c3dbc6ea4c41cb7b81035a15 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
$FreeBSD$
--- ../pr/src/pthreads/ptio.c.orig Fri Apr 12 03:14:39 2002
+++ ../pr/src/pthreads/ptio.c Tue Jul 30 18:52:11 2002
@@ -3414,6 +3414,17 @@
if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno);
else
{
+#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
+ defined(__FreeBSD__) && defined(IPV6_V6ONLY)
+ if (domain == PR_AF_INET6) {
+ int opt = 0;
+ if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
+ &opt, sizeof(opt))) {
+ close(osfd);
+ return NULL;
+ }
+ }
+#endif
fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
if (fd == NULL) close(osfd);
}
|