[gccsdk] Firefox threading changes

Peter Naulls peter at chocky.org
Mon Sep 7 09:37:05 PDT 2009

Peter Naulls wrote:
> I've made some changes to the event handling in ChoX11 so that it's more
> thread driven than event/poll driven, so we don't have to keep
> trying to see if RISC OS needs us to poll or collect any
> events.

If you didn't try it out or get the clues, then I'll explain further.
I've moved the event handling/Wimp Polling in ChoX11 into its own
thread, instead of being done indirectly by the application using it,
which is somewhat at the mercy of how often it calls the X Event
functions (a typical RISC OS application would make sure it
polls every so often).

The upshot is that applications should run much more smoothly - in
particular, Firefox shouldn't now stop the desktop for long periods
of time.  This might have some objective speed improvements, *however*
the subjective improvements are the most important here - the
responsiveness is much better, and makes for a better browsing
experience.  It's never going to be like NetSurf, but I think you'll
find the difference remarkable.

This fixes most of the issues from the last version:


So, please try that out by putting it over the binary from the
last version.   If you can make it crash, then send me
the stderr.  If you can make it get stuck somehow, then I'd like
to hear about that too.   I'm also interested to know if this
addresses the auto-completion issues.

Important:  For bug reports, what I really need is a precise set
of repeatable steps, with the exact URL and actions you performed;
not an inexact set of sites you visited.

I'm presently considering how much more effort I want to put into
Firefox for RISC OS, so the outcome of this will certainly impact
it.  Oh, and donations remain welcome:



More information about the gcc mailing list