| OLD | NEW |
| 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 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #if defined(OS_POSIX) | 7 #if defined(OS_POSIX) |
| 8 #if defined(OS_MACOSX) | 8 #if defined(OS_MACOSX) |
| 9 extern "C" { | 9 extern "C" { |
| 10 #include <sandbox.h> | 10 #include <sandbox.h> |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 int fds_to_send) : | 227 int fds_to_send) : |
| 228 in_thread_(in_thread), | 228 in_thread_(in_thread), |
| 229 out_thread_(out_thread), | 229 out_thread_(out_thread), |
| 230 cb_listener_(cb, fds_to_send), | 230 cb_listener_(cb, fds_to_send), |
| 231 null_listener_(base::Bind(&null_cb), 0) { | 231 null_listener_(base::Bind(&null_cb), 0) { |
| 232 } | 232 } |
| 233 | 233 |
| 234 void Init() { | 234 void Init() { |
| 235 IPC::ChannelHandle in_handle("IN"); | 235 IPC::ChannelHandle in_handle("IN"); |
| 236 in = IPC::Channel::CreateServer(in_handle, &null_listener_); | 236 in = IPC::Channel::CreateServer(in_handle, &null_listener_); |
| 237 base::FileDescriptor out_fd( | 237 IPC::ChannelHandle out_handle( |
| 238 in->TakeClientFileDescriptor(), false); | 238 "OUT", base::FileDescriptor(in->TakeClientFileDescriptor())); |
| 239 IPC::ChannelHandle out_handle("OUT", out_fd); | |
| 240 out = IPC::Channel::CreateClient(out_handle, &cb_listener_); | 239 out = IPC::Channel::CreateClient(out_handle, &cb_listener_); |
| 241 // PostTask the connect calls to make sure the callbacks happens | 240 // PostTask the connect calls to make sure the callbacks happens |
| 242 // on the right threads. | 241 // on the right threads. |
| 243 in_thread_->message_loop()->PostTask( | 242 in_thread_->message_loop()->PostTask( |
| 244 FROM_HERE, | 243 FROM_HERE, |
| 245 base::Bind(&PipeChannelHelper::Connect, in.get())); | 244 base::Bind(&PipeChannelHelper::Connect, in.get())); |
| 246 out_thread_->message_loop()->PostTask( | 245 out_thread_->message_loop()->PostTask( |
| 247 FROM_HERE, | 246 FROM_HERE, |
| 248 base::Bind(&PipeChannelHelper::Connect, out.get())); | 247 base::Bind(&PipeChannelHelper::Connect, out.get())); |
| 249 } | 248 } |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 base::WaitableEvent received_; | 367 base::WaitableEvent received_; |
| 369 }; | 368 }; |
| 370 | 369 |
| 371 TEST_F(IPCMultiSendingFdsTest, StressTest) { | 370 TEST_F(IPCMultiSendingFdsTest, StressTest) { |
| 372 Run(); | 371 Run(); |
| 373 } | 372 } |
| 374 | 373 |
| 375 } // namespace | 374 } // namespace |
| 376 | 375 |
| 377 #endif // defined(OS_POSIX) | 376 #endif // defined(OS_POSIX) |
| OLD | NEW |