------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=968
           Summary: Programs run due by pipe transport get SIGPIPE set to
                    IGN
           Product: Exim
           Version: 4.71
          Platform: Other
               URL: http://bugs.debian.org/573779
        OS/Version: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Transports
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


Hello,

this is http://bugs.debian.org/573779, submitted by Ian Jackson.

-----------------------------------------------------------------
I set up a test program, piping into the following perl script:

  $ cat junk/t.pl 
  #!/usr/bin/perl
  print STDERR "Signal handling for SIGPIPE: $SIG{PIPE}.\n";
  die;
  $

When I tested this by putting 
  |/home/ian/junk/t.pl
in .forward and sending an email, the expected bounce contained the
following text:

  The following text was generated during the delivery attempt:

  ------ pipe to |/home/ian/junk/t.pl
         generated by [email protected] ------

  Signal handling for SIGPIPE: IGNORE.
  Died at /home/ian/junk/t.pl line 3.

On UN*X all programs are entitled to assume that they inherit SIGPIPE
(and most other signals) set to SIG_DFL.  Programs with careful error
handling can fail when SIGPIPE is set to SIG_IGN, because it causes
programs such as "cat" to do this:

  $ sh -xc 'trap "" PIPE; (sleep 1; echo hi) | cat | true; echo
${PIPESTATUS[*]}'
  + trap '' PIPE
  + sleep 1
  + cat
  + true
  + echo hi
  cat: write error: Broken pipe
  + echo 0 1 0
  0 1 0
  $ 

Rather than this:

  $ sh -xc '(sleep 1; echo hi) | cat | true; echo ${PIPESTATUS[*]}'
  + sleep 1
  + cat
  + true
  + echo hi
  + echo 0 141 0
  0 141 0
  $ 

Ian.


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to