nspr.patch 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Index: mozilla/nsprpub/pr/include/md/_freebsd.h
  2. --- mozilla/nsprpub/pr/include/md/_freebsd.h.orig 2004-11-22 22:24:53 +0100
  3. +++ mozilla/nsprpub/pr/include/md/_freebsd.h 2008-02-07 19:15:24 +0100
  4. @@ -43,6 +43,7 @@
  5. #if __FreeBSD__ >= 2
  6. #include <osreldate.h> /* for __FreeBSD_version */
  7. #endif
  8. +#include <sys/param.h>
  9. #include <sys/syscall.h>
  10. #define PR_LINKER_ARCH "freebsd"
  11. Index: mozilla/nsprpub/pr/include/md/_pth.h
  12. --- mozilla/nsprpub/pr/include/md/_pth.h.orig 2006-12-08 23:58:13 +0100
  13. +++ mozilla/nsprpub/pr/include/md/_pth.h 2008-02-07 19:15:24 +0100
  14. @@ -84,7 +84,7 @@
  15. #define _PT_PTHREAD_MUTEXATTR_DESTROY(x) /* */
  16. #define _PT_PTHREAD_MUTEX_INIT(m, a) (memset(&(m), 0, sizeof(m)), \
  17. pthread_mutex_init(&(m), NULL))
  18. -#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
  19. +#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
  20. #define _PT_PTHREAD_CONDATTR_INIT(x) 0
  21. #define _PT_PTHREAD_CONDATTR_DESTROY(x) /* */
  22. #define _PT_PTHREAD_COND_INIT(m, a) (memset(&(m), 0, sizeof(m)), \
  23. @@ -96,7 +96,7 @@
  24. #if defined(FREEBSD)
  25. #define _PT_PTHREAD_MUTEX_IS_LOCKED(m) pt_pthread_mutex_is_locked(&(m))
  26. #else
  27. -#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
  28. +#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
  29. #endif
  30. #if defined(DARWIN)
  31. #define _PT_PTHREAD_CONDATTR_INIT(x) 0
  32. Index: mozilla/nsprpub/pr/src/md/unix/unix.c
  33. --- mozilla/nsprpub/pr/src/md/unix/unix.c.orig 2006-04-05 22:57:15 +0200
  34. +++ mozilla/nsprpub/pr/src/md/unix/unix.c 2008-02-07 19:20:57 +0100
  35. @@ -68,7 +68,7 @@
  36. * PRInt32* pointer to a _PRSockLen_t* pointer.
  37. */
  38. #if defined(HAVE_SOCKLEN_T) \
  39. - || (defined(__GLIBC__) && __GLIBC__ >= 2)
  40. + || (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(FREEBSD)
  41. #define _PRSockLen_t socklen_t
  42. #elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
  43. || defined(AIX4_1) || defined(LINUX) || defined(SONY) \
  44. @@ -76,7 +76,7 @@
  45. || defined(SUNOS4) || defined(NCR) || defined(DARWIN) \
  46. || defined(NEXTSTEP) || defined(QNX)
  47. #define _PRSockLen_t int
  48. -#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \
  49. +#elif (defined(AIX) && !defined(AIX4_1)) \
  50. || defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \
  51. || defined(DGUX) || defined(VMS) || defined(NTO) || defined(RISCOS)
  52. #define _PRSockLen_t size_t
  53. Index: mozilla/nsprpub/pr/src/pthreads/ptio.c
  54. --- mozilla/nsprpub/pr/src/pthreads/ptio.c.orig 2008-01-13 02:27:16 +0100
  55. +++ mozilla/nsprpub/pr/src/pthreads/ptio.c 2008-02-07 19:15:24 +0100
  56. @@ -3475,6 +3475,17 @@
  57. &on, sizeof(on));
  58. }
  59. #endif
  60. +#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
  61. + defined(__FreeBSD__) && defined(IPV6_V6ONLY)
  62. + if (domain == PR_AF_INET6) {
  63. + int opt = 0;
  64. + if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
  65. + &opt, sizeof(opt))) {
  66. + close(osfd);
  67. + return NULL;
  68. + }
  69. + }
  70. +#endif
  71. fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
  72. if (fd == NULL) close(osfd);
  73. }