Don't print an error message on broken pipe unless --verbose
is used.
This commit is contained in:
parent
8e074349e4
commit
944b62b932
|
@ -651,7 +651,20 @@ io_write(const file_pair *pair, const uint8_t *buf, size_t size)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
errmsg(V_ERROR, _("%s: Write error: %s"),
|
// Handle broken pipe specially. gzip and bzip2
|
||||||
|
// don't print anything on SIGPIPE. In addition,
|
||||||
|
// gzip --quiet uses exit status 2 (warning) on
|
||||||
|
// broken pipe instead of whatever raise(SIGPIPE)
|
||||||
|
// would make it return. It is there to hide "Broken
|
||||||
|
// pipe" message on some old shells (probably old
|
||||||
|
// GNU bash).
|
||||||
|
//
|
||||||
|
// We don't do anything special with --quiet, which
|
||||||
|
// is what bzip2 does too. However, we print a
|
||||||
|
// message if --verbose was used (or should that
|
||||||
|
// only be with double --verbose i.e. debugging?).
|
||||||
|
errmsg(errno == EPIPE ? V_VERBOSE : V_ERROR,
|
||||||
|
_("%s: Write error: %s"),
|
||||||
pair->dest_name, strerror(errno));
|
pair->dest_name, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue