aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2017-02-10 16:37:42 -0600
committerRob Landley <rob@landley.net>2017-02-10 16:37:42 -0600
commite95731e93f569ec7266d78f01a43f8a5159d4968 (patch)
treec09dfb5cd1218b643821fa14a7d777125953dbde
parent6132e360e11a0dfc6edf27f8634d44f4eb8e526f (diff)
downloadtoybox-e95731e93f569ec7266d78f01a43f8a5159d4968.tar.gz
Add back bionic SIGPIPE handler workaround accidentally removed in 3b51a07e478d
-rw-r--r--main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main.c b/main.c
index 61b5a7eb..a2267dab 100644
--- a/main.c
+++ b/main.c
@@ -213,6 +213,10 @@ int main(int argc, char *argv[])
}
*argv = getbasename(*argv);
+ // Bionic's dynamic linker adds a handler to report SIGPIPE as an error,
+ // then doesn't want that behavior for toybox. So disable it for bionic.
+ if (CFG_TOYBOX_ON_ANDROID) signal(SIGPIPE, SIG_DFL);
+
// If nommu can't fork, special reentry path.
// Use !stacktop to signal "vfork happened", both before and after xexec()
if (!CFG_TOYBOX_FORK) {