--- mozilla/nsprpub/pr/include/md/_freebsd.h.orig	Sat Feb 16 09:12:55 2002
+++ mozilla/nsprpub/pr/include/md/_freebsd.h	Thu Aug  8 19:31:23 2002
@@ -40,6 +40,7 @@
 #if __FreeBSD__ >= 2
 #include <osreldate.h>  /* for __FreeBSD_version */
 #endif
+#include <sys/param.h>
 #include <sys/syscall.h>
 
 #define PR_LINKER_ARCH	"freebsd"
--- mozilla/nsprpub/pr/src/pthreads/ptio.c.orig	Fri Apr 12 03:14:39 2002
+++ mozilla/nsprpub/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);
     }
