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