An analysis of interrupt behavior

Tim Rowledge tim at sumeru.stanford.edu
Fri Apr 1 18:46:45 UTC 2005


Andreas Raab <andreas.raab at gmx.de> wrote:

> Tim Rowledge wrote:
> > Andreas Raab <andreas.raab at gmx.de> wrote:
> > 
> >>Yes. Easily so. The "major safeguard" that Tim referred to is actually a
> > 
> > Not me so far as I can tell...
> 
> Then this must be a clear case of identity theft ;-))
> 
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-May/078325.html
Golly. That _was_ a long time ago. But yes, I said it and I think in context I
stand by it. 


> 
> > The amusing part is that the semaphore used for low space has the lowspace
> > process on its list and we remove it as part of signalling. Maybe if we
stuck
> > the active process on the end as some 'helpful context' it would make life
> > simpler. Or a subclass of Semaphore with a more explicit ivar(s) if we want
to
> > reduce confusion potential.
> 
> I think it's a little more complex than that.
Of course, no argument there. I was merely musing on a plausible trivial VM
mechanism for passing up some helpful stuff to avoid try to infer the
appropriate process to beat up. When we are signalling a very specific
smeaphore like lowspace we can be quite certain that the active process when
the allocation code gets upset is the one we want to deal with, right now, no
excuses.

The user interrupt is a little different in that it is easy to say "stop the
active process" but that isn't always what one really wants to do. As you
mentioned earlier, sometimes one will get the weak finalization process,
sometime the event tickler, or the main event loop etc. Generally in my
experience I use the interrupt to try to stop the main user process to try to
see WTF it is up to and why it hasn't done anything visible in a while. It
would be nice to have some way to pop up a list of current processes and choose
one to play with. I realise the process browser does some of that.  I've
noticed in Tweak that it is quite hard to get to interrupt anything except the
event loop which rarely seems to lead me anywhere interesting when trying to
debug TK4 stuff.


tim
--
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful Latin Phrases:- Mihi ignosce. Cum homine de cane debeo congredi = Excuse
me. I've got to see a man about a dog.



More information about the Squeak-dev mailing list