[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Can't interrupt directory_files_internal run from timer-event-handler
From: |
Klaus Zeitler |
Subject: |
Can't interrupt directory_files_internal run from timer-event-handler |
Date: |
Fri, 05 Aug 2005 11:03:40 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (usg-unix-v) |
The following problem occurs with CVS emacs + ECB under Solaris 5.8.
While ECB performs its stealth update activities, emacs sometimes seems to
hang for a long time.
gdb shows the following function and backtrace:
directory_files_internal (directory=16076323, full=3313665, match=3313665,
nosort=3313713, attrs=0, id_format=3313665)
at /vol/freeware/cvs/emacs/head/emacs/src/dired.c:226
226 if (dp == NULL && errno == EAGAIN)
(gdb) p directory
$1 = 16076323
(gdb) pr
"/vol/cld_scratch"
(gdb) xbacktrace
"directory-files"
"apply"
"ecb-directory-files"
"ecb-check-emptyness-of-dir"
"ecb-stealthy-empty-dir-check"
"ecb-stealthy-updates"
"apply"
"byte-code"
"timer-event-handler"
I think emacs waits for readdir in dired.c:223 to complete and unfortunately
C-g doesn't work during stealthy update.
The culprit BTW is a mount point to a VAX cluster that e.g. need 20 minutes
to return from 'M-x eval-expression (directory-files "/vol/cld_scratch")'.
While I can interrupt 'M-x eval-expression (directory-files "/vol/cld_scratch")'
with C-g just fine, C-g has no effect when this command is run from
timer-event-handler.
--
------------------------------------------
| Klaus Zeitler Lucent Technologies |
| Email: address@hidden |
------------------------------------------
---
The only problem with being a man of leisure
is that you can never stop and take a rest.