bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#54458: 27.2; erc-dcc-get: Re-entering top level after C stack overfl


From: Mattias Engdegård
Subject: bug#54458: 27.2; erc-dcc-get: Re-entering top level after C stack overflow
Date: Tue, 29 Mar 2022 17:49:05 +0200

28 mars 2022 kl. 14.08 skrev J.P. <jp@neverwas.me>:

> As you highlighted up thread, inhibited sends appeal to
> `wait_reading_process_output' to try and shake something loose. I agree
> such occasions seem likeliest to trigger "unexpected" filter nesting.

Although it seems reasonable to require that filter functions abstain from 
sending more data to the process, there may be another way: preventing 
re-entering process-send calls from recursing further.

Attached is a proof of concept: if process-send calls are invoked when another 
activation already exists, just enqueue the data and let the previous 
activation deal with the actual transmission. That nips the recursion in the 
buds.

The principle seems sound but if anyone can think of problems with the 
approach, please do tell.

Of course, one reason to make the change in ERC is that it would fix the 
problem in all Emacs versions, not just 29.

Attachment: send-process-nesting.diff
Description: Binary data



reply via email to

[Prev in Thread] Current Thread [Next in Thread]