[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hang in Emacs 21.3.50
From: |
Jason Rumney |
Subject: |
Re: Hang in Emacs 21.3.50 |
Date: |
04 Dec 2002 21:57:15 +0000 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
"Dhruva Krishnamurthy" <address@hidden> writes:
> I did some further debugging using MSVC 6.0 debugger. I would like to
> report another scenerio which causes a similar HANG (infinite loop) in
> w32fns.c:w32_msg_pump()
>
> 1. I use Aspell (latest : 05.3-2 I guess)
> 2. When I do "M-x ispell-buffer", it goes to w32fns.c:w32_msg_pump() and
> gets into an infinite loop (GetMessage())
It is normal for the message pump thread to spend most of its time in
GetMessage(), and the loop is intentional. The lisp/redisplay thread
is more interesting in cases where Emacs appears to be hung.
> PS:
> Emacs is multi threaded. Am I right or am I missing something.
On MS Windows, there is the main Lisp thread, a message pump thread
(which simulates asynchronous signals and allow C-g to interrupt the
Lisp thread even when it is performing a blocking operation), and a
thread for each subprocess to handle I/O from that subprocess. The
latter thread normally exits when the subprocess exits, so the
message you see about a thread exiting is probably the thread
handling I/O for aspell, as you guessed.
The question, I think, is why does Emacs appear to hang when aspell
exits unexpectedly.