Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47c166a9 authored by Andres Morales's avatar Andres Morales Committed by Android (Google) Code Review
Browse files

Merge "Fix deadlock when killing adb bugreport" into lmp-dev

parents 5466c3d2 2e671bbd
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -378,8 +378,8 @@ static void usage() {
}

static void sigpipe_handler(int n) {
    (void)n;
    exit(EXIT_FAILURE);
    // don't complain to stderr or stdout
    _exit(EXIT_FAILURE);
}

int main(int argc, char *argv[]) {
@@ -404,10 +404,12 @@ int main(int argc, char *argv[]) {
    }
    ALOGI("begin\n");


    memset(&sigact, 0, sizeof(sigact));
    sigact.sa_handler = sigpipe_handler;
    sigaction(SIGPIPE, &sigact, NULL);


    /* set as high priority, and protect from OOM killer */
    setpriority(PRIO_PROCESS, 0, -20);
    FILE *oom_adj = fopen("/proc/self/oom_adj", "w");
+6 −0
Original line number Diff line number Diff line
@@ -313,6 +313,12 @@ int run_command(const char *title, int timeout_seconds, const char *command, ...
        /* make sure the child dies when dumpstate dies */
        prctl(PR_SET_PDEATHSIG, SIGKILL);

        /* just ignore SIGPIPE, will go down with parent's */
        struct sigaction sigact;
        memset(&sigact, 0, sizeof(sigact));
        sigact.sa_handler = SIG_IGN;
        sigaction(SIGPIPE, &sigact, NULL);

        va_list ap;
        va_start(ap, command);
        if (title) printf("------ %s (%s", title, command);