nspr.patch 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 2005-07-13 15:42:26 +0200
  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 2004-11-22 22:24:53 +0100
  13. +++ mozilla/nsprpub/pr/include/md/_pth.h 2005-07-13 15:43:47 +0200
  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 2005-03-09 23:57:05 +0100
  34. +++ mozilla/nsprpub/pr/src/md/unix/unix.c 2005-07-13 15:42:26 +0200
  35. @@ -65,7 +65,8 @@
  36. * PRInt32* pointer to a _PRSockLen_t* pointer.
  37. */
  38. #if defined(HAVE_SOCKLEN_T) \
  39. - || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
  40. + || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) \
  41. + || defined(FREEBSD)
  42. #define _PRSockLen_t socklen_t
  43. #elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
  44. || defined(AIX4_1) || defined(LINUX) || defined(SONY) \
  45. @@ -73,7 +74,7 @@
  46. || defined(SUNOS4) || defined(NCR) || defined(DARWIN) \
  47. || defined(NEXTSTEP) || defined(QNX)
  48. #define _PRSockLen_t int
  49. -#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \
  50. +#elif (defined(AIX) && !defined(AIX4_1)) \
  51. || defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \
  52. || defined(DGUX) || defined(VMS) || defined(NTO)
  53. #define _PRSockLen_t size_t
  54. Index: mozilla/nsprpub/pr/src/pthreads/ptio.c
  55. --- mozilla/nsprpub/pr/src/pthreads/ptio.c.orig 2005-03-09 23:57:06 +0100
  56. +++ mozilla/nsprpub/pr/src/pthreads/ptio.c 2005-07-13 15:42:26 +0200
  57. @@ -3471,6 +3471,17 @@
  58. &on, sizeof(on));
  59. }
  60. #endif
  61. +#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
  62. + defined(__FreeBSD__) && defined(IPV6_V6ONLY)
  63. + if (domain == PR_AF_INET6) {
  64. + int opt = 0;
  65. + if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
  66. + &opt, sizeof(opt))) {
  67. + close(osfd);
  68. + return NULL;
  69. + }
  70. + }
  71. +#endif
  72. fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
  73. if (fd == NULL) close(osfd);
  74. }