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 |