On 5 Nov 2008, John-Mark Bell <[EMAIL PROTECTED]> wrote:
> On Wed, 5 Nov 2008, Rob Kendrick wrote:
>
> > NetSurf working with WebJames on the same machine working at all is
> > already a miracle.  We spent many hours trying to discover the cause
> > of the deadlock, but to no avail.  I seem to recall we pointed the
> > finger of blame at the RISC OS networking stack, as well as the
> > co-operative multi-tasking.  There's no reason it /should/ be
> > blocking, but does it.  Perhaps now the sources the the IP stack are
> > available, somebody might spend some time making it less dreadful.
>
> It's a timing-based issue. So that NetSurf can do work when busy, it
> will only poll the Wimp every N centiseconds (wnere N is some number I
> can't recall ottomh -- see gui_multitask in riscos/gui.c for the "do
> we poll the Wimp this time" logic). Removing this logic results in the
> thing working fine. There is utterly no good explanation for this
> being the case. Therefore, I'm utterly unwilling to remove this logic.
> Not least as it will make NetSurf significantly less performant in
> every other situation.

Does that explain the single-tasking, which occurs when WebJames is
_not_ in the frame? Here, the appearance of NetSurf's secondary timer
indicates that single-tasking is in progress and, if the remote object
is not found, one has to wait for NetSurf to abort the fetch.

Tony





Reply via email to