Wireshark-commits: [Wireshark-commits] master 560f2e5: Don't report EPIPE errors writing out packet

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Mon, 11 Nov 2019 21:12:40 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=560f2e54ba4848fe1b776b29a3d63c2af192a0db
Submitter: "Guy Harris <guy@xxxxxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

560f2e5 by Guy Harris (guy@xxxxxxxxxxxx):

    Don't report EPIPE errors writing out packet information.
    
    EPIPE almost certainly means "the next program after us in the pipeline
    exited before we were finished writing", so this isn't a real error, it
    just means we're done.  (We don't get SIGPIPE because libwireshark
    ignores SIGPIPE to avoid getting killed if writing to the MaxMind
    process gets SIGPIPE because that process died.)
    
    Presumably either that program exited deliberately (for example, "head
    -N" read N lines and printed them), in which case there's no error to
    report, or it terminated due to an error or a signal, in which case
    *that's* the error and that error has been reported.
    
    (We don't do that for EINVAL, as that's presumably a real error.  It
    shows up on Windows in bug 16192, but what we probably want to do there
    is to, on Windows, use _doserrno, check for the equivalent Windows
    errors, and, for the default case, convert _doserrno to the appropriate
    string, using Windows APIs, and report *that* string; the MS C library
    converts a whole bunch of Windows errors to EINVAL, thus losing
    information and making it harder to determine what the real error is.
    
    Therefore, I'm just marking this with Ping-Bug, as it's only fixing the
    problem on UN*Xes.)
    
    Change-Id: I94c392f478561e29501facd657487716a5882295
    Ping-Bug: 16192
    Reviewed-on: https://code.wireshark.org/review/35053
    Petri-Dish: Guy Harris <guy@xxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Guy Harris <guy@xxxxxxxxxxxx>
    

Actions performed:

    from  7cbe0b2   Include <string.h>.
     add  560f2e5   Don't report EPIPE errors writing out packet information.


Summary of changes:
 tshark.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)