[Openmcl-devel] debugging debugging

Gary Byers gb at clozure.com
Fri May 8 03:18:12 PDT 2009

On Fri, 8 May 2009, Toomas Altosaar wrote:

> Would it make sense to set up such a similar flag that indicates when
> the initial thread is running? (thread "Initial" is the one that
> starts up when the app starts to run)

CCL isn't directly involved in deciding when a thread is running or
when it isn't; that's the OS's job.  Thread A can sort of ask the OS
what state thread B's in, but unless we're sure that thread B's state
can't change, the answer's nearly meaningless (thread B's state may
have changed several times by the time thread A gets that answer.)

If you're coming from MCL and used to thinking of these things in its
terms, there are lots of things that may take some getting used to.
On machines with multiple CPU cores (the vast majority of the machines
sold over the last few years), it's no longer meaningful to think that
there's only one "current thread".

> Since the Initial thread is so "control hungry" under the current OS,
> then it seems that it should avoid being in a error state at all
> costs. Could it not delegate event processing to another
> error-protected Lisp thread A, so that when A arrives in an error
> condition then Initial could initiate a stand-in error processor for
> failed thread A?

No.  See my earlier message in this thread for an explanation of why
this isn't possible.

More information about the Openmcl-devel mailing list