Re: Changeset 0306c5a64775

Michael Sperber <[email protected]> Sun, 08 Jan 2012 13:03:51 +0100
Newsgroups gmane.lisp.scheme.scheme48
Message-ID <[email protected]>
Robert Ransom <[email protected]> writes:

> In the process-id case, threads waiting on a process ID's placeholder
> are awakened by process-terminated-children, which is called by the
> os-signal interrupt handler.  Nothing waits on an external-event UID.

Ah, OK, but that's a bug (even documented in the manual) with the signal
code, which also needs fixing.  As soon as that's fixed, the problem
goes away, right?

> If the deadlock-detection code isn't told that those synchronization
> objects will be alerted by (an interrupt handler triggered by) an
> external event of some sort, then it will falsely report that a
> deadlock has occurred.

That also makes sense, but if we're talking about "external event of
some sort", rather than *the* external events (i.e. the specific
things in scheme/rts/external-event.scm)  then the fix should also
happen outside of external-event.scm, deeper down in the thread system,
is my current thinking.  Does that make sense?

(I'm trying to think this through until I find enough time to actually
work on the fix.  I really appreciate your patience.)

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla