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

Side by Side Diff: test/win/win_multiprocess.cc

Issue 1164683005: win: fix uncaught multiprocess child test failures (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: 0 -> EXIT_SUCCESS Created 5 years, 6 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 | « no previous file | test/win/win_multiprocess_test.cc » ('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 2015 The Crashpad Authors. All rights reserved. 1 // Copyright 2015 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 pipe_c2p_write_.reset(reinterpret_cast<HANDLE>(c2p_write)); 93 pipe_c2p_write_.reset(reinterpret_cast<HANDLE>(c2p_write));
94 pipe_p2c_read_.reset(reinterpret_cast<HANDLE>(p2c_read)); 94 pipe_p2c_read_.reset(reinterpret_cast<HANDLE>(p2c_read));
95 95
96 // Notify the parent that it's OK to proceed. We only need to wait to get to 96 // Notify the parent that it's OK to proceed. We only need to wait to get to
97 // the process entry point, but this is the easiest place we can notify. 97 // the process entry point, but this is the easiest place we can notify.
98 char c = ' '; 98 char c = ' ';
99 CheckedWriteFile(WritePipeHandle(), &c, sizeof(c)); 99 CheckedWriteFile(WritePipeHandle(), &c, sizeof(c));
100 100
101 // Invoke the child side of the test. 101 // Invoke the child side of the test.
102 WinMultiprocessChild(); 102 WinMultiprocessChild();
103 exit(0); 103
104 if (testing::Test::HasFailure())
105 exit(255);
106 exit(EXIT_SUCCESS);
104 } else { 107 } else {
105 // If we're in the parent, make pipes for child-to-parent and 108 // If we're in the parent, make pipes for child-to-parent and
106 // parent-to-child communication. Mark them as inheritable via the 109 // parent-to-child communication. Mark them as inheritable via the
107 // SECURITY_ATTRIBUTES, but use SetHandleInformation to ensure that the 110 // SECURITY_ATTRIBUTES, but use SetHandleInformation to ensure that the
108 // parent sides are not inherited. 111 // parent sides are not inherited.
109 SECURITY_ATTRIBUTES security_attributes = {0}; 112 SECURITY_ATTRIBUTES security_attributes = {0};
110 security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES); 113 security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES);
111 security_attributes.bInheritHandle = true; 114 security_attributes.bInheritHandle = true;
112 115
113 HANDLE c2p_read, c2p_write; 116 HANDLE c2p_read, c2p_write;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 pipe_c2p_write_.reset(); 221 pipe_c2p_write_.reset();
219 } 222 }
220 223
221 HANDLE WinMultiprocess::ChildProcess() const { 224 HANDLE WinMultiprocess::ChildProcess() const {
222 EXPECT_NE(nullptr, child_handle_.get()); 225 EXPECT_NE(nullptr, child_handle_.get());
223 return child_handle_.get(); 226 return child_handle_.get();
224 } 227 }
225 228
226 } // namespace test 229 } // namespace test
227 } // namespace crashpad 230 } // namespace crashpad
OLDNEW
« no previous file with comments | « no previous file | test/win/win_multiprocess_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698