summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cursor-sensor.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2024-05-30 18:28:02 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2024-05-30 18:28:02 -0400
commit0d7d835902dfaeaae03850fb37e369833bb5664d (patch)
tree8cd61f0c74342d20f9569c0541213ca20cb07727 /lisp/emacs-lisp/cursor-sensor.el
parentbaecf9bb283e52a829e31ae6f36c4687171a51c5 (diff)
downloademacs-0d7d835902dfaeaae03850fb37e369833bb5664d.tar.gz
emacs-0d7d835902dfaeaae03850fb37e369833bb5664d.tar.bz2
emacs-0d7d835902dfaeaae03850fb37e369833bb5664d.zip
server.el: Avoid nested runs of process filters (bug#71223)
In case we have a "storm" of emacsclient requests coming at the same time, our process filters ended up running nested within each other, eating up the stack and causing errors. Try and be more careful with our use of `sit-for` in the process filter, and make sure our process filters are run one at a time. * lisp/server.el (server--message-sit-for): New function. (server--process-filter-1): New function, extracted from `server-process-filter`. Use `server--message-sit-for` to display the messages and use `run-with-timer` to delay the `delete-process`. (server--process-filter-pending, server--process-filter-active): New vars. (server--process-filter-all-pending): New function. (server-process-filter): Use them.
Diffstat (limited to 'lisp/emacs-lisp/cursor-sensor.el')
0 files changed, 0 insertions, 0 deletions