Bug#989274: Sway does not restore SIGPIPE

2021-06-28 Thread Sean Whitton
control: reassign -1 sway

Hello,

On Wed 02 Jun 2021 at 08:09AM GMT, Daniel Eklof wrote:

> Hi (author of foot here),
>
> I happened to see this bug, and it caught my interest. What I found is this:
>
> SIGPIPE is Sway's doing. It configures it to be ignored (by setting its 
> signal handler to SIG_IGN). Now, normally signal dispositions are restored to 
> their defaults after an exec(). The exception is ignored signals, which _do_ 
> get inherited.
>
> The combination of foot+bash is important too, because neither foot, nor bash 
> restore signals they don't touch. In other words, SIGPIPE being ignored is 
> inherited from Sway, through foot, through bash, and finally into dgit. Both 
> zsh and fish appear to reset all signals, and are not affected.
>
> Now, foot _could_ also restore all signals, just like zsh and fish. For the 
> time being I think it's better not to do so, since it would just have hidden 
> the bug in Sway.
>
> There was also a bug in foot, where an ignored SIGHUP could "leak" into 
> spawned processes.
>
> I'll try to put together a patch for sway.

Thank you for your input here.  Very helpful.

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#989274: Sway does not restore SIGPIPE

2021-06-02 Thread Daniel Eklof
Hi (author of foot here),

I happened to see this bug, and it caught my interest. What I found is this:

SIGPIPE is Sway's doing. It configures it to be ignored (by setting its signal 
handler to SIG_IGN). Now, normally signal dispositions are restored to their 
defaults after an exec(). The exception is ignored signals, which _do_ get 
inherited.

The combination of foot+bash is important too, because neither foot, nor bash 
restore signals they don't touch. In other words, SIGPIPE being ignored is 
inherited from Sway, through foot, through bash, and finally into dgit. Both 
zsh and fish appear to reset all signals, and are not affected.

Now, foot _could_ also restore all signals, just like zsh and fish. For the 
time being I think it's better not to do so, since it would just have hidden 
the bug in Sway.

There was also a bug in foot, where an ignored SIGHUP could "leak" into spawned 
processes.

I'll try to put together a patch for sway.