OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "sandbox/linux/tests/test_utils.h" | 5 #include "sandbox/linux/tests/test_utils.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <sys/stat.h> | 8 #include <sys/stat.h> |
9 #include <sys/types.h> | 9 #include <sys/types.h> |
10 #include <sys/wait.h> | 10 #include <sys/wait.h> |
(...skipping 10 matching lines...) Expand all Loading... |
21 int ret = HANDLE_EINTR( | 21 int ret = HANDLE_EINTR( |
22 waitid(P_ALL, 0, &process_info, WEXITED | WNOHANG | WNOWAIT)); | 22 waitid(P_ALL, 0, &process_info, WEXITED | WNOHANG | WNOWAIT)); |
23 if (-1 == ret) { | 23 if (-1 == ret) { |
24 PCHECK(ECHILD == errno); | 24 PCHECK(ECHILD == errno); |
25 return false; | 25 return false; |
26 } else { | 26 } else { |
27 return true; | 27 return true; |
28 } | 28 } |
29 } | 29 } |
30 | 30 |
| 31 void TestUtils::HandlePostForkReturn(pid_t pid) { |
| 32 const int kChildExitCode = 1; |
| 33 if (pid > 0) { |
| 34 int status = 0; |
| 35 PCHECK(pid == HANDLE_EINTR(waitpid(pid, &status, 0))); |
| 36 CHECK(WIFEXITED(status)); |
| 37 CHECK_EQ(kChildExitCode, WEXITSTATUS(status)); |
| 38 } else if (pid == 0) { |
| 39 _exit(kChildExitCode); |
| 40 } |
| 41 } |
| 42 |
31 } // namespace sandbox | 43 } // namespace sandbox |
OLD | NEW |