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

Side by Side Diff: chrome/browser/nacl_host/nacl_process_host.cc

Issue 11236025: Test that debug stub works with browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years 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 | Annotate | Revision Log
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 #include "chrome/browser/nacl_host/nacl_process_host.h" 5 #include "chrome/browser/nacl_host/nacl_process_host.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 reply_msg_ = NULL; 655 reply_msg_ = NULL;
656 internal_->sockets_for_renderer.clear(); 656 internal_->sockets_for_renderer.clear();
657 return true; 657 return true;
658 } 658 }
659 659
660 // TCP port we chose for NaCl debug stub. It can be any other number. 660 // TCP port we chose for NaCl debug stub. It can be any other number.
661 static const int kDebugStubPort = 4014; 661 static const int kDebugStubPort = 4014;
662 662
663 #if defined(OS_POSIX) 663 #if defined(OS_POSIX)
664 SocketDescriptor NaClProcessHost::GetDebugStubSocketHandle() { 664 SocketDescriptor NaClProcessHost::GetDebugStubSocketHandle() {
665 SocketDescriptor s = net::TCPListenSocket::CreateAndBind("127.0.0.1", 665 NaClBrowser* nacl_browser = NaClBrowser::GetInstance();
666 kDebugStubPort); 666 SocketDescriptor s;
667 // We allocate currently unused TCP port for debug stub tests. The port
668 // number is passed to the test via debug stub port listener.
669 if (nacl_browser->HasGdbDebugStubPortListener()) {
670 int port;
671 s = net::TCPListenSocket::CreateAndBindAnyPort("127.0.0.1", &port);
672 if (s != net::TCPListenSocket::kInvalidSocket) {
673 nacl_browser->FireGdbDebugStubPortOpened(port);
674 }
675 } else {
676 s = net::TCPListenSocket::CreateAndBind("127.0.0.1", kDebugStubPort);
677 }
678 if (s == net::TCPListenSocket::kInvalidSocket) {
679 LOG(ERROR) << "failed to open socket for debug stub";
680 return net::TCPListenSocket::kInvalidSocket;
681 }
667 if (listen(s, 1)) { 682 if (listen(s, 1)) {
668 LOG(ERROR) << "listen() failed on debug stub socket"; 683 LOG(ERROR) << "listen() failed on debug stub socket";
684 if (HANDLE_EINTR(close(s)) < 0)
685 PLOG(ERROR) << "failed to close debug stub socket";
669 return net::TCPListenSocket::kInvalidSocket; 686 return net::TCPListenSocket::kInvalidSocket;
670 } 687 }
671 return s; 688 return s;
672 } 689 }
673 #endif 690 #endif
674 691
675 bool NaClProcessHost::StartNaClExecution() { 692 bool NaClProcessHost::StartNaClExecution() {
676 NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); 693 NaClBrowser* nacl_browser = NaClBrowser::GetInstance();
677 694
678 nacl::NaClStartParams params; 695 nacl::NaClStartParams params;
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 } else { 916 } else {
900 NaClStartDebugExceptionHandlerThread( 917 NaClStartDebugExceptionHandlerThread(
901 process_handle.Take(), info, 918 process_handle.Take(), info,
902 base::MessageLoopProxy::current(), 919 base::MessageLoopProxy::current(),
903 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, 920 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker,
904 weak_factory_.GetWeakPtr())); 921 weak_factory_.GetWeakPtr()));
905 return true; 922 return true;
906 } 923 }
907 } 924 }
908 #endif 925 #endif
OLDNEW
« no previous file with comments | « chrome/browser/nacl_host/nacl_browser.cc ('k') | chrome/browser/nacl_host/test/debug_stub_browser_tests.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698