How to implement events on Unix?

Lex Spoon lex at cc.gatech.edu
Tue Feb 13 02:49:29 UTC 2001


Marcel Weiher <marcel at metaobject.com> wrote:
> > From: "Lex Spoon" <lex at cc.gatech.edu>
> 
> > > To passivate an active system, you have to yield the CPU at
> > > opportune moments (with strange and difficult to tune  
> sleep-factors),
> > > introduce semaphores and deal with timing problems, add a
> > > requirement for multi-threadedness in order to have somewhat
> > > manageable code etc.
> >
> > Well, this isn't a problem in Morphic.  It's very nicely written to 
> > passivate itself (if I understand "passivate" correctly), because there 
> > is an outer loop that expects to remain in control of the system.
> 
> No, that's not what I mean with passive/passivate.  It is exactly  
> the (outer) loop that means that this is *not* passive.
> 
> Passive: a procedure (or an object) that just sits there, gets  
> called and returns after it is done.

So you would say that individual morphs are passive, and that the
morphic system as a whole is active, right?

So would it actually matter to erase that last smidgen of activeness from
Morphic?  It seems hard to do better than waiting in an equivalent to select(),
and that's precisely what an idle Squeak will do already.


-Lex





More information about the Squeak-dev mailing list