[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Can't interrupt directory_files_internal run fromtimer-event-handler
From: |
klaus.berndl |
Subject: |
RE: Can't interrupt directory_files_internal run fromtimer-event-handler |
Date: |
Fri, 5 Aug 2005 14:01:44 +0200 |
Klaus Zeitler wrote:
> 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.
ECB encapslates ist "stealthy" tasks in a loop like:
(while (and (not (input-pending-p))
...
So IMHO C-g should work....
AFAIK there is a new macro in CVS named `while-no-input' (there
was a discussion some time ago).... Could using this macro
solve problems like that posted from the OP??
Ciao,
Klaus
>
> 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.
>
>
> _______________________________________________
> Emacs-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-devel