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

Commit 4abdeee0 authored by Josh Gao's avatar Josh Gao
Browse files

adb: replace failing exits in adbd with abort().

This makes it possible to get a core dump from adbd when it decides to
exit.

Bug: http://b/28347842
Change-Id: I4cfe5f273f62b2c32e61232d3c39881ecdd6b582
parent b463baf6
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
@@ -65,21 +65,34 @@ std::string adb_version() {
void fatal(const char *fmt, ...) {
    va_list ap;
    va_start(ap, fmt);
    fprintf(stderr, "error: ");
    vfprintf(stderr, fmt, ap);
    fprintf(stderr, "\n");
    char buf[1024];
    vsnprintf(buf, sizeof(buf), fmt, ap);

#if ADB_HOST
    fprintf(stderr, "error: %s\n", buf);
#else
    LOG(ERROR) << "error: " << buf;
#endif

    va_end(ap);
    exit(-1);
    abort();
}

void fatal_errno(const char* fmt, ...) {
    int err = errno;
    va_list ap;
    va_start(ap, fmt);
    fprintf(stderr, "error: %s: ", strerror(errno));
    vfprintf(stderr, fmt, ap);
    fprintf(stderr, "\n");
    char buf[1024];
    vsnprintf(buf, sizeof(buf), fmt, ap);

#if ADB_HOST
    fprintf(stderr, "error: %s: %s\n", buf, strerror(err));
#else
    LOG(ERROR) << "error: " << buf << ": " << strerror(err);
#endif

    va_end(ap);
    exit(-1);
    abort();
}

apacket* get_apacket(void)
+3 −3
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ int Subprocess::OpenPtyChildFd(const char* pts_name, ScopedFd* error_sfd) {
        for (const char* message : messages) {
            WriteFdExactly(error_sfd->fd(), message);
        }
        exit(-1);
        abort();
    }

    if (make_pty_raw_) {
@@ -421,7 +421,7 @@ int Subprocess::OpenPtyChildFd(const char* pts_name, ScopedFd* error_sfd) {
            int saved_errno = errno;
            WriteFdExactly(error_sfd->fd(), "tcgetattr failed: ");
            WriteFdExactly(error_sfd->fd(), strerror(saved_errno));
            exit(-1);
            abort();
        }

        cfmakeraw(&tattr);
@@ -429,7 +429,7 @@ int Subprocess::OpenPtyChildFd(const char* pts_name, ScopedFd* error_sfd) {
            int saved_errno = errno;
            WriteFdExactly(error_sfd->fd(), "tcsetattr failed: ");
            WriteFdExactly(error_sfd->fd(), strerror(saved_errno));
            exit(-1);
            abort();
        }
    }