From c47ec40ba81351041096fc6cfb00c98bd74b7c06 Mon Sep 17 00:00:00 2001 From: "mseaborn@chromium.org" Date: Thu, 29 Jul 2010 10:20:49 +0000 Subject: NaCl: Allow setting up multiple sockets for subprocess instead of just one Remove the "channel number" parameter from messages, since this is now fixed in the NaCl plugin code in sel_main_chrome.c. Replace pair_ and descriptor_ with sockets_for_renderer_ and sockets_for_sel_ldr_. NaClProcessMsg_Start: Pass an array of FDs instead of one FD. ViewHostMsg_LaunchNaCl: * Add socket count. * Return an array of FDs instead of one FD. Expose this functionality to the NaCl plugin via a new function, "launch_nacl_process_multi_fd". BUG=50626 TEST=nacl_ui_tests Review URL: http://codereview.chromium.org/2832093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54113 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/nacl/nacl_thread.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'chrome/nacl/nacl_thread.cc') diff --git a/chrome/nacl/nacl_thread.cc b/chrome/nacl/nacl_thread.cc index 33c0195..77b78c7 100644 --- a/chrome/nacl/nacl_thread.cc +++ b/chrome/nacl/nacl_thread.cc @@ -36,8 +36,11 @@ void NaClThread::OnControlMessageReceived(const IPC::Message& msg) { IPC_END_MESSAGE_MAP() } -void NaClThread::OnStartSelLdr(int channel_descriptor, - nacl::FileDescriptor handle) { - NaClHandle nacl_handle = nacl::ToNativeHandle(handle); - NaClMainForChromium(/* handle_count= */ 1, &nacl_handle); +void NaClThread::OnStartSelLdr(std::vector handles) { + NaClHandle* array = new NaClHandle[handles.size()]; + for (size_t i = 0; i < handles.size(); i++) { + array[i] = nacl::ToNativeHandle(handles[i]); + } + NaClMainForChromium(static_cast(handles.size()), array); + delete array; } -- cgit v1.1