 Chromium Code Reviews
 Chromium Code Reviews Issue 11236025:
  Test that debug stub works with browser.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/
    
  
    Issue 11236025:
  Test that debug stub works with browser.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/| 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 "net/base/tcp_listen_socket.h" | 5 #include "net/base/tcp_listen_socket.h" | 
| 6 | 6 | 
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) | 
| 8 // winsock2.h must be included first in order to ensure it is included before | 8 // winsock2.h must be included first in order to ensure it is included before | 
| 9 // windows.h. | 9 // windows.h. | 
| 10 #include <winsock2.h> | 10 #include <winsock2.h> | 
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 69 #elif defined(OS_POSIX) | 69 #elif defined(OS_POSIX) | 
| 70 close(s); | 70 close(s); | 
| 71 #endif | 71 #endif | 
| 72 LOG(ERROR) << "Could not bind socket to " << ip << ":" << port; | 72 LOG(ERROR) << "Could not bind socket to " << ip << ":" << port; | 
| 73 s = kInvalidSocket; | 73 s = kInvalidSocket; | 
| 74 } | 74 } | 
| 75 } | 75 } | 
| 76 return s; | 76 return s; | 
| 77 } | 77 } | 
| 78 | 78 | 
| 79 SocketDescriptor TCPListenSocket::CreateAndBindAnyPort(const string& ip, | |
| 80 int* port) { | |
| 81 SocketDescriptor s = CreateAndBind(ip, 0); | |
| 82 if (s == kInvalidSocket) { | |
| 
szym
2012/12/07 15:00:31
nit: codestyle suggests no braces around single-li
 
halyavin
2012/12/07 15:17:27
Done.
 | |
| 83 return kInvalidSocket; | |
| 84 } | |
| 85 sockaddr_in addr; | |
| 86 socklen_t addr_size = sizeof(addr); | |
| 87 bool failed = getsockname(s, reinterpret_cast<struct sockaddr*>(&addr), | |
| 88 &addr_size) != 0; | |
| 89 if (addr_size != sizeof(addr)) { | |
| 
szym
2012/12/07 15:00:31
nit: ditto
 
halyavin
2012/12/07 15:17:27
Done.
 | |
| 90 failed = true; | |
| 91 } | |
| 92 if (failed) { | |
| 93 LOG(ERROR) << "Could not determine bound port, getsockname() failed"; | |
| 94 #if defined(OS_WIN) | |
| 95 closesocket(s); | |
| 96 #elif defined(OS_POSIX) | |
| 97 close(s); | |
| 98 #endif | |
| 99 return kInvalidSocket; | |
| 100 } | |
| 101 *port = base::NetToHost16(addr.sin_port); | |
| 102 return s; | |
| 103 } | |
| 104 | |
| 79 void TCPListenSocket::Accept() { | 105 void TCPListenSocket::Accept() { | 
| 80 SocketDescriptor conn = AcceptSocket(); | 106 SocketDescriptor conn = AcceptSocket(); | 
| 81 if (conn == kInvalidSocket) | 107 if (conn == kInvalidSocket) | 
| 82 return; | 108 return; | 
| 83 scoped_refptr<TCPListenSocket> sock( | 109 scoped_refptr<TCPListenSocket> sock( | 
| 84 new TCPListenSocket(conn, socket_delegate_)); | 110 new TCPListenSocket(conn, socket_delegate_)); | 
| 85 // It's up to the delegate to AddRef if it wants to keep it around. | 111 // It's up to the delegate to AddRef if it wants to keep it around. | 
| 86 #if defined(OS_POSIX) | 112 #if defined(OS_POSIX) | 
| 87 sock->WatchSocket(WAITING_READ); | 113 sock->WatchSocket(WAITING_READ); | 
| 88 #endif | 114 #endif | 
| 89 socket_delegate_->DidAccept(this, sock); | 115 socket_delegate_->DidAccept(this, sock); | 
| 90 } | 116 } | 
| 91 | 117 | 
| 92 TCPListenSocketFactory::TCPListenSocketFactory(const string& ip, int port) | 118 TCPListenSocketFactory::TCPListenSocketFactory(const string& ip, int port) | 
| 93 : ip_(ip), | 119 : ip_(ip), | 
| 94 port_(port) { | 120 port_(port) { | 
| 95 } | 121 } | 
| 96 | 122 | 
| 97 TCPListenSocketFactory::~TCPListenSocketFactory() {} | 123 TCPListenSocketFactory::~TCPListenSocketFactory() {} | 
| 98 | 124 | 
| 99 scoped_refptr<StreamListenSocket> TCPListenSocketFactory::CreateAndListen( | 125 scoped_refptr<StreamListenSocket> TCPListenSocketFactory::CreateAndListen( | 
| 100 StreamListenSocket::Delegate* delegate) const { | 126 StreamListenSocket::Delegate* delegate) const { | 
| 101 return TCPListenSocket::CreateAndListen(ip_, port_, delegate); | 127 return TCPListenSocket::CreateAndListen(ip_, port_, delegate); | 
| 102 } | 128 } | 
| 103 | 129 | 
| 104 } // namespace net | 130 } // namespace net | 
| OLD | NEW |