firefox-6.0_1 spinning on a cpu

Florian Smeets flo at freebsd.org
Wed Sep 7 08:00:46 UTC 2011


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
-------------- next part --------------
--- ../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);


More information about the freebsd-gecko mailing list