Merge "Avoid to call UI functions in child process" am: 0f275ae56e

am: 5fa2e576f9

Change-Id: I83d52f51ab6c788cc67a75ca6f7a46cd2f8289cd
This commit is contained in:
Tianjie Xu
2017-02-03 22:14:20 +00:00
committed by android-build-merger
+5 -1
View File
@@ -382,7 +382,11 @@ static int try_update_binary(const char* path, ZipArchiveHandle zip, bool* wipe_
umask(022); umask(022);
close(pipefd[0]); close(pipefd[0]);
execv(chr_args[0], const_cast<char**>(chr_args)); execv(chr_args[0], const_cast<char**>(chr_args));
PLOG(ERROR) << "Can't run " << chr_args[0]; // Bug: 34769056
// We shouldn't use LOG/PLOG in the forked process, since they may cause
// the child process to hang. This deadlock results from an improperly
// copied mutex in the ui functions.
fprintf(stdout, "E:Can't run %s (%s)\n", chr_args[0], strerror(errno));
_exit(-1); _exit(-1);
} }
close(pipefd[1]); close(pipefd[1]);