OSDN Git Service

Add back bionic SIGPIPE handler workaround accidentally removed in 3b51a07e478d
authorRob Landley <rob@landley.net>
Fri, 10 Feb 2017 22:37:42 +0000 (16:37 -0600)
committerRob Landley <rob@landley.net>
Fri, 10 Feb 2017 22:37:42 +0000 (16:37 -0600)
main.c

diff --git a/main.c b/main.c
index 61b5a7e..a2267da 100644 (file)
--- 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) {