Bug 601: When we fork an archiver and feed stuff to it through a pipe, if
we don't close the pipe the child process won't exit, and we'll hang in
waitpid().
diff --git a/archival/tar.c b/archival/tar.c
index b296746..cd89a75 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -513,11 +513,12 @@
 	 * but that isn't necessary for GNU tar interoperability, and
 	 * so is considered a waste of space */
 
+	/* Close so the child process (if any) will exit */
+	close(tbInfo.tarFd);
+
 	/* Hang up the tools, close up shop, head home */
-	if (ENABLE_FEATURE_CLEAN_UP) {
-		close(tbInfo.tarFd);
+	if (ENABLE_FEATURE_CLEAN_UP)
 		freeHardLinkInfo(&tbInfo.hlInfoHead);
-	}
 
 	if (errorFlag)
 		bb_error_msg("Error exit delayed from previous errors");