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(+)