Fix problems in src/base:

- de-facto ignored return value of PathService::Get in base_paths_mac.mm
- missing EINTR handling in other files

I was just reading the code looking for some issues.

BUG=none
Review URL: http://codereview.chromium.org/6820030

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81220 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/base_paths_mac.mm b/base/base_paths_mac.mm
index 12108341..ec1398b 100644
--- a/base/base_paths_mac.mm
+++ b/base/base_paths_mac.mm
@@ -53,19 +53,20 @@
       return base::mac::GetUserDirectory(NSApplicationSupportDirectory, result);
     case base::DIR_SOURCE_ROOT: {
       // Go through PathService to catch overrides.
-      if (PathService::Get(base::FILE_EXE, result)) {
-        // Start with the executable's directory.
-        *result = result->DirName();
-        if (base::mac::AmIBundled()) {
-          // The bundled app executables (Chromium, TestShell, etc) live five
-          // levels down, eg:
-          // src/xcodebuild/{Debug|Release}/Chromium.app/Contents/MacOS/Chromium
-          *result = result->DirName().DirName().DirName().DirName().DirName();
-        } else {
-          // Unit tests execute two levels deep from the source root, eg:
-          // src/xcodebuild/{Debug|Release}/base_unittests
-          *result = result->DirName().DirName();
-        }
+      if (!PathService::Get(base::FILE_EXE, result))
+        return false;
+
+      // Start with the executable's directory.
+      *result = result->DirName();
+      if (base::mac::AmIBundled()) {
+        // The bundled app executables (Chromium, TestShell, etc) live five
+        // levels down, eg:
+        // src/xcodebuild/{Debug|Release}/Chromium.app/Contents/MacOS/Chromium
+        *result = result->DirName().DirName().DirName().DirName().DirName();
+      } else {
+        // Unit tests execute two levels deep from the source root, eg:
+        // src/xcodebuild/{Debug|Release}/base_unittests
+        *result = result->DirName().DirName();
       }
       return true;
     }