[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] Strategy for dealing with nil and thread errors



I think the UI should be single-threaded and event-driven. Index and
source operations should still be run in separate threads or processes
to avoid freezing the UI, but they should not be sharing any mutable
state.

This is a lot of work. If anyone is interested in tackling this I
suggest first discovering all the threads Sup uses and which of their
codepaths call into the UI or modify shared datastructures (Message,
Thread, ThreadSet, ...). Then that racy code needs to be moved to a
callback that runs in the event loop.

Some other robustness thoughts I've had:
- Immutable messages / different classes for messages constructed from
	source vs index
- Catch and log exceptions from keybindings
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel