OSDN Git Service

ignore SIGPIPE signal in native services
authorYoung-Ho Cha <ganadist@gmail.com>
Fri, 28 Aug 2015 10:55:18 +0000 (19:55 +0900)
committerElliott Hughes <enh@google.com>
Sat, 29 Aug 2015 03:29:00 +0000 (20:29 -0700)
When run dump method via dumpsys command with invalid pipe fd, native
services can crash with SIGPIPE.
So ignore SIGPIPE signal.

Bug: https://code.google.com/p/android/issues/detail?id=184099
Change-Id: Icb15e0dff34a245c08c1b4c4bed51992ae382da4
Signed-off-by: Young-Ho Cha <ganadist@gmail.com>
services/sensorservice/main_sensorservice.cpp
services/surfaceflinger/main_surfaceflinger.cpp

index 0a96f42..01bb0e7 100644 (file)
@@ -20,6 +20,7 @@
 using namespace android;
 
 int main(int /*argc*/, char** /*argv*/) {
+    signal(SIGPIPE, SIG_IGN);
     SensorService::publishAndJoinThreadPool();
     return 0;
 }
index a74bc4c..ca81aaa 100644 (file)
@@ -26,6 +26,7 @@
 using namespace android;
 
 int main(int, char**) {
+    signal(SIGPIPE, SIG_IGN);
     // When SF is launched in its own process, limit the number of
     // binder threads to 4.
     ProcessState::self()->setThreadPoolMaxThreadCount(4);