Use TEMP_FAILURE_RETRY, always build bootchart.cpp.

Also switch the revision parsing over to sscanf as promised. I haven't
done the hardware parsing because I don't yet know whether we actually need
to keep the space-stripping code.

Change-Id: Ic33378345cd515cb08d00c543acf44eb72673396
diff --git a/init/signal_handler.cpp b/init/signal_handler.cpp
index 952f970..c0898fb 100644
--- a/init/signal_handler.cpp
+++ b/init/signal_handler.cpp
@@ -43,7 +43,6 @@
 
 static int wait_for_one_process(int block)
 {
-    pid_t pid;
     int status;
     struct service *svc;
     struct socketinfo *si;
@@ -51,7 +50,7 @@
     struct listnode *node;
     struct command *cmd;
 
-    while ( (pid = waitpid(-1, &status, block ? 0 : WNOHANG)) == -1 && errno == EINTR );
+    pid_t pid = TEMP_FAILURE_RETRY(waitpid(-1, &status, block ? 0 : WNOHANG));
     if (pid <= 0) return -1;
     INFO("waitpid returned pid %d, status = %08x\n", pid, status);