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: [EMAIL PROTECTED] | > ------------------------------------------ > --- > The only problem with being a man of leisure > is that you can never stop and take a rest. > > > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-devel _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel