← Commit list

1a7810330

Rob Landley
Rob Landley
2005-12-16
SOURCE BUG Duration: 9s

Subject

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

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

archival/tar.c+4 -3
@@ -513,11 +513,12 @@ static inline int writeTarFile(const int tar_fd, const int verboseFlag,
* 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");