|
From: | Jan Djärv |
Subject: | Re: Lockup |
Date: | Fri, 11 Aug 2006 10:09:49 +0200 |
User-agent: | Thunderbird 1.5.0.5 (X11/20060808) |
YAMAMOTO Mitsuharu skrev:
On Fri, 11 Aug 2006 08:36:39 +0200, Jan Djärv <address@hidden> said:I agree with your assumtion that the lockuo occurs because the signal handler and the interrupted therad are calling pthread_mutex_(un)lock for the same mutex. But BLOCK_INPUT does not help, because Gnome code does not have it.That's not a problem because Gnome threads (non-main threads) never execute pthread_mutex_(un)lock in the signal hander context.
That does not help, the main thread executes in signal handler context sometimes. And in that case, both the Gnome thread and the signal handler may be executing (un)lock_mutex on the same mutex. There is no way around that, except not doing (un)lock in the signal handler and block the signal in the Gnome threads.
Now if you can guarantee that it is only the case where the thread interrupted and the signal handler executes (un)lock on the same mutex that cause lockup, that would be another thing.
Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |