| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_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> | 
| 11 #elif defined(OS_POSIX) | 11 #elif defined(OS_POSIX) | 
| 12 #include <errno.h> | 12 #include <errno.h> | 
| 13 #include <sys/types.h> | 13 #include <sys/types.h> | 
| 14 #include <sys/socket.h> | 14 #include <sys/socket.h> | 
| 15 #include <netinet/in.h> | 15 #include <netinet/in.h> | 
| 16 #include <arpa/inet.h> | 16 #include <arpa/inet.h> | 
| 17 #include "net/base/net_errors.h" | 17 #include "net/base/net_errors.h" | 
| 18 #endif | 18 #endif | 
| 19 | 19 | 
| 20 #include "base/eintr_wrapper.h" | 20 #include "base/eintr_wrapper.h" | 
|  | 21 #include "base/sys_byteorder.h" | 
| 21 #include "base/threading/platform_thread.h" | 22 #include "base/threading/platform_thread.h" | 
| 22 #include "net/base/net_util.h" | 23 #include "net/base/net_util.h" | 
| 23 #include "net/base/listen_socket.h" | 24 #include "net/base/listen_socket.h" | 
| 24 | 25 | 
| 25 #if defined(OS_WIN) | 26 #if defined(OS_WIN) | 
| 26 typedef int socklen_t; | 27 typedef int socklen_t; | 
| 27 #endif  // defined(OS_WIN) | 28 #endif  // defined(OS_WIN) | 
| 28 | 29 | 
| 29 namespace net { | 30 namespace net { | 
| 30 | 31 | 
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 109   if (s != kInvalidSocket) { | 110   if (s != kInvalidSocket) { | 
| 110 #if defined(OS_POSIX) | 111 #if defined(OS_POSIX) | 
| 111     // Allow rapid reuse. | 112     // Allow rapid reuse. | 
| 112     static const int kOn = 1; | 113     static const int kOn = 1; | 
| 113     setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &kOn, sizeof(kOn)); | 114     setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &kOn, sizeof(kOn)); | 
| 114 #endif | 115 #endif | 
| 115     sockaddr_in addr; | 116     sockaddr_in addr; | 
| 116     memset(&addr, 0, sizeof(addr)); | 117     memset(&addr, 0, sizeof(addr)); | 
| 117     addr.sin_family = AF_INET; | 118     addr.sin_family = AF_INET; | 
| 118     addr.sin_addr.s_addr = inet_addr(ip.c_str()); | 119     addr.sin_addr.s_addr = inet_addr(ip.c_str()); | 
| 119     addr.sin_port = htons(port); | 120     addr.sin_port = base::HostToNet16(port); | 
| 120     if (bind(s, reinterpret_cast<sockaddr*>(&addr), sizeof(addr))) { | 121     if (bind(s, reinterpret_cast<sockaddr*>(&addr), sizeof(addr))) { | 
| 121 #if defined(OS_WIN) | 122 #if defined(OS_WIN) | 
| 122       closesocket(s); | 123       closesocket(s); | 
| 123 #elif defined(OS_POSIX) | 124 #elif defined(OS_POSIX) | 
| 124       close(s); | 125       close(s); | 
| 125 #endif | 126 #endif | 
| 126       s = kInvalidSocket; | 127       s = kInvalidSocket; | 
| 127     } | 128     } | 
| 128   } | 129   } | 
| 129   return s; | 130   return s; | 
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 322 | 323 | 
| 323 void ListenSocket::OnFileCanWriteWithoutBlocking(int fd) { | 324 void ListenSocket::OnFileCanWriteWithoutBlocking(int fd) { | 
| 324   // MessagePumpLibevent callback, we don't listen for write events | 325   // MessagePumpLibevent callback, we don't listen for write events | 
| 325   // so we shouldn't ever reach here. | 326   // so we shouldn't ever reach here. | 
| 326   NOTREACHED(); | 327   NOTREACHED(); | 
| 327 } | 328 } | 
| 328 | 329 | 
| 329 #endif | 330 #endif | 
| 330 | 331 | 
| 331 }  // namespace net | 332 }  // namespace net | 
| OLD | NEW | 
|---|