]> git.sur5r.net Git - i3/i3/commit - src/startup.c
Reset SIGIPE handler before executing a command
authorPetr Písař <petr.pisar@atlas.cz>
Thu, 24 Apr 2014 18:35:17 +0000 (20:35 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 26 Apr 2014 10:09:45 +0000 (12:09 +0200)
commit2cc51841a5919a34ff26d5d61c2264d9cb2b43a0
tree3707759656bb3452e68ed9e2734ec551c0cde40e
parent7deb23c727da85e20004f123e237e677431377e8
Reset SIGIPE handler before executing a command

This commit:

commit fb6d117c42ce3d9988ff44c079814b3840b1e37f
Author: Axel Wagner <mail@merovius.de>
Date:   Thu Dec 30 21:09:32 2010 +0100

    Port sighandler to tree-branch

blocks SIGPIPE. Unfortunatelly blocked signal set is preserved accross
execve()s, so any program executed by i3 inherited blocked SIGPIPE signal.
This leads to courious effects when pipe writer does not terminate after
exiting pipe reader.

Simple reproducer is to spawn a new xterm by a key shortcut and then run this
command there:

$ perl -e 'print $SIG{PIPE}, qq{\n}'
IGNORE

fixes #1237
src/startup.c