[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25875: 26.0.50; Hang logging out of MS-Windows

From: Richard Copley
Subject: bug#25875: 26.0.50; Hang logging out of MS-Windows
Date: Mon, 27 Feb 2017 21:09:52 +0000

On 27 February 2017 at 20:58, Eli Zaretskii <address@hidden> wrote:
>> From: Richard Copley <address@hidden>
>> Date: Mon, 27 Feb 2017 20:52:16 +0000
>> Cc: Ken Brown <address@hidden>, address@hidden
>> Eli, you said:
>> > As I understand it, this happens because when the input thread gets
>> > the WM_ENDSESSION message, it posts it to the main thread and goes on
>> > to sleep for 1000 sec, to avoid ending the Emacs process before it
>> > finishes orderly shutdown.  But if the main thread happens to be
>> > inside redisplay, it could invoke one of the function that send
>> > messages to the input thread via SendMessage, which waits for the
>> > input thread to respond.  So we do have a kind of deadlock.
>> Posting a message and then sleeping while it's processed is odd,
>> isn't it? If the input thread /sent/ its message to the main thread,
>> then while waiting for SendMessage to return, the input thread would
>> automatically continue to process sent messages
> No, it's the main thread that calls SendMessage, to tell the input
> thread to draw something.  And since the input thread is inside
> 'sleep', the SendMessage call never returns, and the main thread never
> gets around to checking its input queue, where there's an event bound
> to kill-emacs, waiting to be processed.

Please Eli, read what I said again. It might not be right, but you
misunderstood it.
I know the input thread isn't calling SendMessage. It's callling PostMessage and
then sleep. I'm suggesting that the input thread should call SendMessage.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]