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

Commit b72b3f8c authored by Josh Gao's avatar Josh Gao
Browse files

adb: make ctrl-c when spawning a daemon not kill the daemon.

Previously, using ctrl-c in a command that needs to spawn a daemon
because one isn't already available would kill the daemon along with the
foreground process.

Bug: http://b/26982628
Change-Id: I7fefc531c3e4895423e7b466322b5426d01dc9ef
parent 205cdb88
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

// We only build the affinity WAR code for Linux.
#if defined(__linux__)
@@ -125,6 +126,13 @@ int adb_server_main(int is_daemon, int server_port, int ack_reply_fd) {
        close_stdin();
        setup_daemon_logging();

#if !defined(_WIN32)
        // Set the process group so that ctrl-c in the spawning process doesn't kill us.
        // Do this here instead of after the fork so that a ctrl-c between the "starting server" and
        // "done starting server" messages gets a chance to terminate the server.
        setpgrp();
#endif

        // Any error output written to stderr now goes to adb.log. We could
        // keep around a copy of the stderr fd and use that to write any errors
        // encountered by the following code, but that is probably overkill.