Package: dpkg
Version: 1.9.11

While checking something else I saw this in dpkg-source.pl:

  $SIG{'PIPE'} = 'DEFAULT';
  ...
      local $SIG{PIPE} = 'DEFAULT';

This appears to correspond to some of the following changelog entries:

  dpkg (1.9.11) unstable; urgency=low
    * Apply patch from Colin Watson:  Closes: #89679
      * Reset SIGPIPE to DEFAULT when forking gzip.

  dpkg (1.9.8) unstable; urgency=low
    * Reset SIGPIPE back to default, in dpkg-source.  Closes: #98563.

I disagree with this and in my opinion this code should be removed.

All UNIX programs are entitled to assume that they start with signals
set to the default values (except SIGHUP and perhaps another exception
or two).  Starting dpkg-source (or dpkg or any other unsuspecting
utility) with SIGPIPE ignored is simply wrong and if the program makes
extensive use of subprocesses and has good error handling, it is
liable to fail under those conditions.

If it is absolutely necessary to do something about this kind of bug,
dpkg-source should be changed to _fail_ if SIGPIPE is not set to
DEFAULT on startup.  Fixing it up merely hides the problem and leaves
other programs vulnerable to mysterious failures.

Ian.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to