[UI] Well, shall we do something then?

Bill Schwab BSchwab at anest.ufl.edu
Mon Sep 17 13:39:24 UTC 2007


Dave,

Thanks.  A related thought is the following: use critical sections early
and often.  Deadlocks are (in my experience at least) generally easy to
resolve from a dump of callstacks.  All but one thread will be waiting
on a semaphore of some type; then look for the ones you created, and
look for the critical sections to see if you are making it impossible
for the code to run.  Common fixes involve (carefully!) splitting one
critical section into pieces, adding a shared queue to move objects from
source to sink thread, etc.  When interacting with the GUI, post an
action to the input queue vs. making the calls directly from the worker
thread.

Bill



Wilhelm K. Schwab, Ph.D.
University of Florida
Department of Anesthesiology
PO Box 100254
Gainesville, FL 32610-0254

Email: bschwab at anest.ufl.edu
Tel: (352) 846-1285
FAX: (352) 392-7029

>>> lewis at mail.msen.com 09/17/07 7:33 AM >>>
On Sun, Sep 16, 2007 at 10:51:51PM -0400, Bill Schwab wrote:
> Another thing to consider is that user interfaces tend to like
> changes to be injected on their main thread.  I forget the name of
> Squeak's notion of a "deferred action," but I can find it later if
there
> is a need - I suspect you or one of our peers will be able to provide
> the relevant selector name.  My primary contribution is to ask whether
> you have considered it.  I tend to queue GUI updates whether they need
> it or not ;)

The selector is WorldState class>>addDeferredUIMessage:

See also http://bugs.squeak.org/view.php?id=1578 if MVC consistency is
if interest.

Dave

_______________________________________________
UI mailing list
UI at lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/ui



More information about the UI mailing list