From: Tim Kientzle Date: Fri, 10 Apr 2009 21:23:59 +0000 (-0400) Subject: SIGPIPE doesn't always exist. X-Git-Tag: v2.8.0~724 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de8e87b206471e738e236ee601d751889fe27f3c;p=thirdparty%2Flibarchive.git SIGPIPE doesn't always exist. Submitted by: Christian Ehrlicher SVN-Revision: 947 --- diff --git a/libarchive/archive_read_support_compression_program.c b/libarchive/archive_read_support_compression_program.c index c81779bf6..11ee80549 100644 --- a/libarchive/archive_read_support_compression_program.c +++ b/libarchive/archive_read_support_compression_program.c @@ -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));