Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: base/process/process_util_unittest.cc

Issue 2137453003: mac: Remove IsOSMavericksOrLater() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cfallocator_1012
Patch Set: rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/process/memory_unittest.cc ('k') | chrome/browser/platform_util_mac.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #define _CRT_SECURE_NO_WARNINGS 5 #define _CRT_SECURE_NO_WARNINGS
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <limits> 10 #include <limits>
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #include <sys/wait.h> 53 #include <sys/wait.h>
54 #include <unistd.h> 54 #include <unistd.h>
55 #endif 55 #endif
56 #if defined(OS_WIN) 56 #if defined(OS_WIN)
57 #include <windows.h> 57 #include <windows.h>
58 #include "base/win/windows_version.h" 58 #include "base/win/windows_version.h"
59 #endif 59 #endif
60 #if defined(OS_MACOSX) 60 #if defined(OS_MACOSX)
61 #include <mach/vm_param.h> 61 #include <mach/vm_param.h>
62 #include <malloc/malloc.h> 62 #include <malloc/malloc.h>
63 #include "base/mac/mac_util.h"
64 #endif 63 #endif
65 #if defined(OS_ANDROID) 64 #if defined(OS_ANDROID)
66 #include "third_party/lss/linux_syscall_support.h" 65 #include "third_party/lss/linux_syscall_support.h"
67 #endif 66 #endif
68 67
69 using base::FilePath; 68 using base::FilePath;
70 69
71 namespace { 70 namespace {
72 71
73 const char kSignalFileSlow[] = "SlowChildProcess.die"; 72 const char kSignalFileSlow[] = "SlowChildProcess.die";
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 // Attempt to set a file-descriptor guard on |fd|. In case of success, remove 564 // Attempt to set a file-descriptor guard on |fd|. In case of success, remove
566 // it and return |true| to indicate that it can be guarded. Returning |false| 565 // it and return |true| to indicate that it can be guarded. Returning |false|
567 // means either that |fd| is guarded by some other code, or more likely EBADF. 566 // means either that |fd| is guarded by some other code, or more likely EBADF.
568 // 567 //
569 // Starting with 10.9, libdispatch began setting GUARD_DUP on a file descriptor. 568 // Starting with 10.9, libdispatch began setting GUARD_DUP on a file descriptor.
570 // Unfortunately, it is spun up as part of +[NSApplication initialize], which is 569 // Unfortunately, it is spun up as part of +[NSApplication initialize], which is
571 // not really something that Chromium can avoid using on OSX. See 570 // not really something that Chromium can avoid using on OSX. See
572 // <http://crbug.com/338157>. This function allows querying whether the file 571 // <http://crbug.com/338157>. This function allows querying whether the file
573 // descriptor is guarded before attempting to close it. 572 // descriptor is guarded before attempting to close it.
574 bool CanGuardFd(int fd) { 573 bool CanGuardFd(int fd) {
575 // The syscall is first provided in 10.9/Mavericks.
576 if (!base::mac::IsOSMavericksOrLater())
577 return true;
578
579 // Saves the original flags to reset later. 574 // Saves the original flags to reset later.
580 int original_fdflags = 0; 575 int original_fdflags = 0;
581 576
582 // This can be any value at all, it just has to match up between the two 577 // This can be any value at all, it just has to match up between the two
583 // calls. 578 // calls.
584 const guardid_t kGuard = 15; 579 const guardid_t kGuard = 15;
585 580
586 // Attempt to change the guard. This can fail with EBADF if the file 581 // Attempt to change the guard. This can fail with EBADF if the file
587 // descriptor is bad, or EINVAL if the fd already has a guard set. 582 // descriptor is bad, or EINVAL if the fd already has a guard set.
588 int ret = 583 int ret =
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
1025 options.current_directory = base::FilePath("/dev/null"); 1020 options.current_directory = base::FilePath("/dev/null");
1026 1021
1027 base::Process process(SpawnChildWithOptions("SimpleChildProcess", options)); 1022 base::Process process(SpawnChildWithOptions("SimpleChildProcess", options));
1028 ASSERT_TRUE(process.IsValid()); 1023 ASSERT_TRUE(process.IsValid());
1029 1024
1030 int exit_code = kSuccess; 1025 int exit_code = kSuccess;
1031 EXPECT_TRUE(process.WaitForExit(&exit_code)); 1026 EXPECT_TRUE(process.WaitForExit(&exit_code));
1032 EXPECT_NE(kSuccess, exit_code); 1027 EXPECT_NE(kSuccess, exit_code);
1033 } 1028 }
1034 #endif // defined(OS_LINUX) 1029 #endif // defined(OS_LINUX)
OLDNEW
« no previous file with comments | « base/process/memory_unittest.cc ('k') | chrome/browser/platform_util_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698