| OLD | NEW | 
|    1 // Copyright 2013 The Chromium Authors. All rights reserved. |    1 // Copyright 2013 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/socket/tcp_socket.h" |    5 #include "net/socket/tcp_socket.h" | 
|    6  |    6  | 
|    7 #include <errno.h> |    7 #include <errno.h> | 
|    8 #include <fcntl.h> |    8 #include <fcntl.h> | 
|    9 #include <netdb.h> |    9 #include <netdb.h> | 
|   10 #include <netinet/in.h> |   10 #include <netinet/in.h> | 
| (...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  514   DCHECK(CalledOnValidThread()); |  514   DCHECK(CalledOnValidThread()); | 
|  515  |  515  | 
|  516   bool ok = accept_socket_watcher_.StopWatchingFileDescriptor(); |  516   bool ok = accept_socket_watcher_.StopWatchingFileDescriptor(); | 
|  517   DCHECK(ok); |  517   DCHECK(ok); | 
|  518   ok = read_socket_watcher_.StopWatchingFileDescriptor(); |  518   ok = read_socket_watcher_.StopWatchingFileDescriptor(); | 
|  519   DCHECK(ok); |  519   DCHECK(ok); | 
|  520   ok = write_socket_watcher_.StopWatchingFileDescriptor(); |  520   ok = write_socket_watcher_.StopWatchingFileDescriptor(); | 
|  521   DCHECK(ok); |  521   DCHECK(ok); | 
|  522  |  522  | 
|  523   if (socket_ != kInvalidSocket) { |  523   if (socket_ != kInvalidSocket) { | 
|  524     if (HANDLE_EINTR(close(socket_)) < 0) |  524     if (IGNORE_EINTR(close(socket_)) < 0) | 
|  525       PLOG(ERROR) << "close"; |  525       PLOG(ERROR) << "close"; | 
|  526     socket_ = kInvalidSocket; |  526     socket_ = kInvalidSocket; | 
|  527   } |  527   } | 
|  528  |  528  | 
|  529   if (!accept_callback_.is_null()) { |  529   if (!accept_callback_.is_null()) { | 
|  530     accept_socket_ = NULL; |  530     accept_socket_ = NULL; | 
|  531     accept_address_ = NULL; |  531     accept_address_ = NULL; | 
|  532     accept_callback_.Reset(); |  532     accept_callback_.Reset(); | 
|  533   } |  533   } | 
|  534  |  534  | 
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  583   if (new_socket < 0) { |  583   if (new_socket < 0) { | 
|  584     int net_error = MapAcceptError(errno); |  584     int net_error = MapAcceptError(errno); | 
|  585     if (net_error != ERR_IO_PENDING) |  585     if (net_error != ERR_IO_PENDING) | 
|  586       net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, net_error); |  586       net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, net_error); | 
|  587     return net_error; |  587     return net_error; | 
|  588   } |  588   } | 
|  589  |  589  | 
|  590   IPEndPoint ip_end_point; |  590   IPEndPoint ip_end_point; | 
|  591   if (!ip_end_point.FromSockAddr(storage.addr, storage.addr_len)) { |  591   if (!ip_end_point.FromSockAddr(storage.addr, storage.addr_len)) { | 
|  592     NOTREACHED(); |  592     NOTREACHED(); | 
|  593     if (HANDLE_EINTR(close(new_socket)) < 0) |  593     if (IGNORE_EINTR(close(new_socket)) < 0) | 
|  594       PLOG(ERROR) << "close"; |  594       PLOG(ERROR) << "close"; | 
|  595     net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, |  595     net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, | 
|  596                                       ERR_ADDRESS_INVALID); |  596                                       ERR_ADDRESS_INVALID); | 
|  597     return ERR_ADDRESS_INVALID; |  597     return ERR_ADDRESS_INVALID; | 
|  598   } |  598   } | 
|  599   scoped_ptr<TCPSocketLibevent> tcp_socket(new TCPSocketLibevent( |  599   scoped_ptr<TCPSocketLibevent> tcp_socket(new TCPSocketLibevent( | 
|  600       net_log_.net_log(), net_log_.source())); |  600       net_log_.net_log(), net_log_.source())); | 
|  601   int adopt_result = tcp_socket->AdoptConnectedSocket(new_socket, ip_end_point); |  601   int adopt_result = tcp_socket->AdoptConnectedSocket(new_socket, ip_end_point); | 
|  602   if (adopt_result != OK) { |  602   if (adopt_result != OK) { | 
|  603     net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, adopt_result); |  603     net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT, adopt_result); | 
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  876       } |  876       } | 
|  877     } else { |  877     } else { | 
|  878       fast_open_status_ = (fast_open_status_ == FAST_OPEN_FAST_CONNECT_RETURN ? |  878       fast_open_status_ = (fast_open_status_ == FAST_OPEN_FAST_CONNECT_RETURN ? | 
|  879                            FAST_OPEN_SYN_DATA_FAILED : |  879                            FAST_OPEN_SYN_DATA_FAILED : | 
|  880                            FAST_OPEN_NO_SYN_DATA_FAILED); |  880                            FAST_OPEN_NO_SYN_DATA_FAILED); | 
|  881     } |  881     } | 
|  882   } |  882   } | 
|  883 } |  883 } | 
|  884  |  884  | 
|  885 }  // namespace net |  885 }  // namespace net | 
| OLD | NEW |