async dired operations cause Emacs to hang sometimes. For example, when renaming a small file asynchronously, shortly after triggering the rename, Emacs locks up for half a second.
Not sure how to debug this. I tried toggle-debug-on-quit, but quitting during the hang returns redisplay-internal, which suggests to me that the hang is happening in an uninterruptible section.
Possibly this is related to NFS since that tends to cause uninterruptible syscalls.
https://github.com/jwiegley/emacs-async/pull/144 is a "workaround" for this (although I find that synchronous renames "feel" more responsive than async for fast operations since async refreshes the dired buffer asynchronously when the user may already be inputting other commands like switch-to-buffer).
async dired operations cause Emacs to hang sometimes. For example, when renaming a small file asynchronously, shortly after triggering the rename, Emacs locks up for half a second.
Not sure how to debug this. I tried
toggle-debug-on-quit
, but quitting during the hang returnsredisplay-internal
, which suggests to me that the hang is happening in an uninterruptible section.Possibly this is related to NFS since that tends to cause uninterruptible syscalls.
https://github.com/jwiegley/emacs-async/pull/144 is a "workaround" for this (although I find that synchronous renames "feel" more responsive than async for fast operations since async refreshes the dired buffer asynchronously when the user may already be inputting other commands like
switch-to-buffer
).