SIGPIPE doesn't always exist.
Submitted by: Christian Ehrlicher SVN-Revision: 947
This commit is contained in:
1 parent
71b1c6a2cd
commit
de8e87b206
1 file changed
+2
@@ -252,6 +252,7 @@ child_stop(struct archive_read_filter *self, struct program_filter *state)
|
||||
}
|
||||
|
||||
if (WIFSIGNALED(state->exit_status)) {
|
||||
#ifdef SIGPIPE
|
||||
/* If the child died because we stopped reading before
|
||||
* it was done, that's okay. Some archive formats
|
||||
* have padding at the end that we routinely ignore. */
|
||||
@@ -260,6 +261,7 @@ child_stop(struct archive_read_filter *self, struct program_filter *state)
|
||||
* child until the child has no more to write. */
|
||||
if (WTERMSIG(state->exit_status) == SIGPIPE)
|
||||
return (ARCHIVE_OK);
|
||||
#endif
|
||||
archive_set_error(&self->archive->archive, ARCHIVE_ERRNO_MISC,
|
||||
"Child process exited with signal %d",
|
||||
WTERMSIG(state->exit_status));
|
||||
|
||||
Reference in new issue
Block a user