|
From: | Richard Frith-Macdonald |
Subject: | Re: Threads, DO and Runloop unexpected behaviour |
Date: | Tue, 1 Nov 2005 17:38:45 +0000 |
On 1 Nov 2005, at 16:59, Wim Oudshoorn wrote:
No, the -doExternal method will run the runloop again, so it is availablefor handling the new -doInternal requests. Mostly this works fineand while -doExternal is executing it will process -doInternal. Howeveronce in a while it will fail. This is unfortunate because in our, more complex case, this will lead to a deadlock.
Ah I see .. the problem is not 'how is it possible to get two doExternal messages logged together', it's that sometimes you get no doInternal requests inside a doExternal, and you think this means that you will never get doInternal's (rather than just being an artifact of the scheduler). Seems plausible ... in which case we have a bug. I'll modify the code to produce something that will actually deadlock to prove that doInternal *never* gets called.
[Prev in Thread] | Current Thread | [Next in Thread] |