Gary, You raise an important point: I never said I was interested in your fixes. Given your track record, I would find it difficult not to be interested.
Dolphin's deferred messages work in most situations. I learned the hard way[*] that menus left open[**] block Dolphin's out-of-the-box queued actions. Steve Waring wrote an alernate queue that was not so easy to hobble, and has served me well for years. I have yet to challenge Pharo's queued messages; in Dolphin, they work very quickly, sometimes only with Steve's help. That said, I look forward to seeing what you created; it might save me from problems I do not even yet know I have. Bill [*] Experience is not always the best teacher, but it is usually the most dramatic. I wish I could say I thought of that :) [**] You haven't lived until you've built software for physicians =:0 -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Gary Chambers Sent: Monday, November 02, 2009 4:36 PM To: [email protected] Subject: Re: [Pharo-project] Fwd: MouseOverHandler No arguments on weak stuff... VisualAge did a good job of those things (perhaps the garbage collector was better integrated with the concept). The driving force for our synchronisation stuff was the need to provide timely feedback, in terms of screen redraws, driven from separate processes that, for instance, were monitoring keystrokes from non-standard keypad devices, network messages etc. Was a necessity and proven in the field! I can get things together as a package later in the week. Very small footprint for a generalised per-object/sub-object scheme. On Mon, 2009-11-02 at 16:24 -0500, Schwab,Wilhelm K wrote: > Stef, Gary, > > Having recently ranted a little about thread safety for weak > collection, how can I argue? Well, let me see if I can do so and keep > my credibility intact :) > > Squeak's weak collections, and we have not moved beyond their limitations, do > not clean themselves after their elements are finalized. That means they do > half of what they should do; once they do all of it, they need to be thread > safe; hence they do one third of what they should do. > > The GUI is arguably a little different. #addDeferredUIMessage: provides a > clean way to interact with it from background threads, and that might be > enough. IDE specific messages (e.g. #inspect) could probably stand to be > queued to make them safe w/o horrible penalties, with the remainder of the > GUI understood not to be thread safe for performance reasons. A backround > thread can do expensive calculations and then queue a GUI update to safely > update the display. > > Bill > > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of > Stéphane Ducasse > Sent: Monday, November 02, 2009 3:28 PM > To: [email protected] > Subject: Re: [Pharo-project] Fwd: MouseOverHandler > > Hi gary > do you think that it make sense to have it in general (my gut feeling > is saying yes but I'm not thread-safe) > > If yes, yes we are interested for 1.1 > > BTW hernan I integrated your changes now it would be interesting to > understand from where this nil is coming. > > Stef > On Nov 2, 2009, at 8:58 PM, Gary Chambers wrote: > > > Yet the cause is unexplained. I still think it is due to non-ui > > processes fiddling with morphs (likely delettion or creation). > > The Morphic event loop remains non-thread safe. We have some > > modifications to ensure thread safety, based on a generalised > > synchronisation protocol if anyone is interested. > > > > Regards, Gary > > ----- Original Message ----- > > From: Hernan Wilkinson > > To: [email protected] > > Sent: Monday, November 02, 2009 7:45 PM > > Subject: Re: [Pharo-project] Fwd: MouseOverHandler > > > > Hi Adrian, > > the current implementation has problems, ie. send messages to nil, > > and it bothers a lot when that happens because it comes from > > nowhere... > > I've been using this implementation for a long time in my images > > and I did not get those problems anymore (and it is more > > readable...) > > > > On Sat, Oct 31, 2009 at 2:41 PM, Adrian Lienhard <[email protected]> > > wrote: > > Hi Hernan, > > > > The reason this was not integrated is that nobody marked it as 'fixed' > > nor tagged it as 1.0. > > > > Is this critical for 1.0? > > > > Cheers, > > Adrian > > > > BTW, if anybody sees changes/fixes not being integrated please ask > > on the mailing list. > > > > > > On Oct 31, 2009, at 14:29 , Stéphane Ducasse wrote: > > > > > > > > > > > Begin forwarded message: > > > > > >> From: Hernan Wilkinson <[email protected]> > > >> Date: October 29, 2009 2:02:32 PM GMT+01:00 > > >> To: Stéphane Ducasse <[email protected]> > > >> Subject: MouseOverHandler > > >> > > >> Hi Stef, > > >> do you know why the MouseOverHandler version I made is not in > > >> the main image? the current version is not working well, under > > >> heavy use it generates exceptions... > > >> I'm attaching the version I wrote that I'm using without > > problem... > > >> > > >> Hernan. > > > <MouseOverHandler.st> > > > > > > _______________________________________________ > > > Pharo-project mailing list > > > [email protected] > > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-projec > > > t > > > > > > _______________________________________________ > > Pharo-project mailing list > > [email protected] > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > > > > > > _______________________________________________ > > Pharo-project mailing list > > [email protected] > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > _______________________________________________ > > Pharo-project mailing list > > [email protected] > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
