diff options
| author | 2012-05-11 14:14:09 -0700 | |
|---|---|---|
| committer | 2012-05-11 14:14:09 -0700 | |
| commit | 3e03d3fb6a4cb93f5f978f9d2eed7b7cc62a06a6 (patch) | |
| tree | a8dca382de53cd551e3271fd8a2d8ef2f6bde77a | |
| parent | f30fd01497a53cbff8692721026c3f7b6830158e (diff) | |
Ignore SIGPIPE is some of the tools used via bugreport
adb bugreport > b & sleep 5; kill $?
will show that a bunch of tools will SIGPIPE when trying to output data
which is normal.
We don't have a way on linux (bsd yes), to set NOSIGPIPE on the file desc
passed down via fork/exec.
Bug: 6447319
Change-Id: I25b30a823addcff89d252f162d0a07035d4fdd3f
| -rw-r--r-- | cmds/dumpstate/dumpstate.c | 2 | ||||
| -rw-r--r-- | cmds/dumpsys/dumpsys.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c index dd015c6903..880f81fef7 100644 --- a/cmds/dumpstate/dumpstate.c +++ b/cmds/dumpstate/dumpstate.c @@ -311,6 +311,8 @@ int main(int argc, char *argv[]) { ALOGI("begin\n"); + signal(SIGPIPE, SIG_IGN); + /* set as high priority, and protect from OOM killer */ setpriority(PRIO_PROCESS, 0, -20); FILE *oom_adj = fopen("/proc/self/oom_adj", "w"); diff --git a/cmds/dumpsys/dumpsys.cpp b/cmds/dumpsys/dumpsys.cpp index 7dad6b625b..c9fcc00f4d 100644 --- a/cmds/dumpsys/dumpsys.cpp +++ b/cmds/dumpsys/dumpsys.cpp @@ -28,6 +28,7 @@ static int sort_func(const String16* lhs, const String16* rhs) int main(int argc, char* const argv[]) { + signal(SIGPIPE, SIG_IGN); sp<IServiceManager> sm = defaultServiceManager(); fflush(stdout); if (sm == NULL) { |