Avoid to call UI functions in child process

ui_print uses a mutex to protect the critical section. And a forked
child process may intialize the mutex inappropriatly, which leads to a
hanging child process. So we shall avoid to call the UI functions in
child process.

Bug: 34769056
Test: fake ota on fugu failed as expected due to updater format mismatch.
Change-Id: I81bc942a796878fac19cf712512092c2b0d807c9
diff --git a/install.cpp b/install.cpp
index 959a742..91e4875 100644
--- a/install.cpp
+++ b/install.cpp
@@ -382,7 +382,11 @@
     umask(022);
     close(pipefd[0]);
     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);
   }
   close(pipefd[1]);