On 02.09.2011 11:19, Andriy Gapon wrote:
[CC-ing gnome@ who is listed as the maintainer of devel/nspr]

On 01.09.2011 14:25, Andriy Gapon wrote:

The following patch for devel/nspr port fixes the problem for me:
--- mozilla/nsprpub/pr/src/pthreads/ptio.c.orig 2011-09-02 12:00:35.233509956 
+0300
+++ mozilla/nsprpub/pr/src/pthreads/ptio.c      2011-09-02 12:00:39.987512769 
+0300
@@ -1635,7 +1635,7 @@ static PRStatus pt_ConnectContinue(
          PR_SetError(PR_BAD_DESCRIPTOR_ERROR, 0);
          return PR_FAILURE;
      }
-    if ((out_flags&  (PR_POLL_WRITE | PR_POLL_EXCEPT | PR_POLL_ERR)) == 0)
+    if ((out_flags&  (PR_POLL_WRITE | PR_POLL_EXCEPT | PR_POLL_ERR |
PR_POLL_HUP)) == 0)
      {
          PR_ASSERT(out_flags == 0);
          PR_SetError(PR_IN_PROGRESS_ERROR, 0);


I am not actually sure if this patch is really needed, maybe it should only be a
temporary FreeBSD-specific workaround.
I need now to investigate if POLLHUP may be set by an OS on a socket that has
never been connected (for which connect(2) failed).


I've created a bug in Mozillas bugzilla [1] with Andriys patch and it has already been committed. Can we please add this to the current nspr port?

Thanks,
Florian

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=684758
--- ../pr/src/pthreads/ptio.c   2011-09-02 12:14:24.000000000 +0200
+++ ../pr/src/pthreads/ptio.c   2011-09-02 12:14:27.000000000 +0200
@@ -1635,7 +1635,7 @@
         PR_SetError(PR_BAD_DESCRIPTOR_ERROR, 0);
         return PR_FAILURE;
     }
-    if ((out_flags & (PR_POLL_WRITE | PR_POLL_EXCEPT | PR_POLL_ERR)) == 0)
+    if ((out_flags & (PR_POLL_WRITE | PR_POLL_EXCEPT | PR_POLL_ERR | 
PR_POLL_HUP)) == 0)
     {
         PR_ASSERT(out_flags == 0);
         PR_SetError(PR_IN_PROGRESS_ERROR, 0);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-gecko
To unsubscribe, send any mail to "[email protected]"

Reply via email to