Hi,

On Wed, 10 Jun 2009, Bastian Blank wrote:
> | close(3)                                = 0
> | waitpid(18165, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGPIPE}], 0) = 18165
> | --- SIGCHLD (Child exited) @ 0 (0) ---
> | [...]
> | exit_group(0)                           = ?
> 
> In the other case I call it via a python script. The python interpreter
> collects SIGPIPE by default and the setting is persistent in the child
> processes. So the SIGPIPE is now collected by bzip2 and converted
> into an error:

We have had this in other packages like git-buildpackage which is also in
python (see http://bugs.debian.org/525411). The problem has been fixed in
the python script and not somewhere else.

tar and any other program (dpkg-source) should be able to rightfully make
the assumption that SIGPIPE is not modified unless it modifies it itself.

In other words, you should fix genorig.py and not ask tar to modify its
behaviour.

See
http://git.debian.org/?p=users/agx/git-buildpackage.git;a=commitdiff;h=3e4b08ed095b12675b8865893274c65782720fe6
for an example of how this got fixed in git-buildpackage.

> It seems that tar now relies on the behaviour that SIGPIPE kills the
> child and therfor needs to properly set it up.

dpkg-source relies on it too.

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to