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.


John.

Reply via email to