Subject: Re: bug#49682: 27.2.50; accept-process-output within accept-process-output hangs emacs

From: LdBeth <[email-masked]>
Date: Mon, 06 Nov 2023 14:27:02 -0600

>>>>> In <[email-masked]> 
>>>>>	Eli Zaretskii <[email-masked]> wrote:

ldb> The shr library uses url-queue to asynchronously download images
ldb> and Wanderlust also use `accept-process-output' call to handle
ldb> IMAP.
ldb> 
ldb> For this particular case I used a dirty hack
ldb> 
ldb> (define-advice accept-process-output
ldb>     (:before (&rest _) sync-queue)
ldb>   (when (fboundp 'url-queue-check-progress)
ldb>     (funcall #'url-queue-check-progress)))
ldb> 
ldb> However, could we make `accept-process-output' atomic so the
ldb> timer won't interrupt it? Or there is no reliable method yet to
ldb> make any atomic operations in Emacs yet?

Eli> If a Lisp program wants to avoid timers during the call to
Eli> accept-process-output, could perhaps temporarily bind timer-list
Eli> to nil or something?

Thank you, let Wanderlust maintainers know and figure out
changes needed to fix the problem.

---
ldbeth