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

Commit ca2b67e1 authored by Dan Albert's avatar Dan Albert Committed by Gerrit Code Review
Browse files

Merge "Additional cleanup of start_device_log."

parents ca87790c 8743ef98
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -79,18 +79,19 @@ void fatal_errno(const char *fmt, ...)

#if !ADB_HOST
void start_device_log(void) {
    adb_mkdir("/data/adb", 0775);

    struct tm now;
    time_t t;
    tzset();
    time(&t);
    localtime_r(&t, &now);

    char timestamp[PATH_MAX];
    strftime(timestamp, sizeof(timestamp), "%Y-%m-%d-%H-%M-%S", &now);

    char path[PATH_MAX];
    strftime(path, sizeof(path), "/data/adb/adb-%Y-%m-%d-%H-%M-%S.txt", &now);
    snprintf(path, sizeof(path), "/data/adb/adb-%s-%d", timestamp, getpid());

    int fd = unix_open(path, O_WRONLY | O_CREAT | O_TRUNC, 0640);
    int fd = unix_open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0640);
    if (fd == -1) {
        return;
    }
@@ -100,10 +101,6 @@ void start_device_log(void) {
    dup2(fd, STDERR_FILENO);
    fprintf(stderr, "--- adb starting (pid %d) ---\n", getpid());
    adb_close(fd);

    fd = unix_open("/dev/null", O_RDONLY);
    dup2(fd, 0);
    adb_close(fd);
}
#endif

+14 −0
Original line number Diff line number Diff line
@@ -349,9 +349,23 @@ int adb_main(int is_daemon, int server_port)
    return 0;
}

#if !ADB_HOST
void close_stdin() {
    int fd = unix_open("/dev/null", O_RDONLY);
    if (fd == -1) {
        perror("failed to open /dev/null, stdin will remain open");
        return;
    }
    dup2(fd, 0);
    adb_close(fd);
}
#endif

int main(int argc, char **argv) {
#if ADB_HOST
    adb_sysdeps_init();
#else
    close_stdin();
#endif
    adb_trace_init();